算法
未读
LeetCode 8 String to Integer (atoi)
Implement atoi which converts a string to an integer. The function first discards as many whitespace characters as necessary until the first non-white
iOS
未读
Objective-C Type Encodings
Objective-C Type Encodings 转自:nshipster,觉得再某些场景上有点用,就直接抄过来了。 @encode,@编译器指令 之一,返回一个给定类型编码为一种内部表示的字符串(例如,@encode(int) → i),类似于 ANSI C 的 typeof 操作。苹果的 O
iOS
未读
Objective-C:为什么分类中不能直接添加属性
为什么分类中不能直接添加属性,这个也是一个经典的面试题了。 搜了一些相关文章,再结合源码做了一个小小的总结。 其实通过这个问题,也可以一瞥 OC 中类的实现。 源码 先晒一下OC类和分类的部分源码: typedef struct objc_class *Class;
struct objc_cla
算法
未读
数据结构与算法解析习题2.23
数据结构与算法解析习题2.23:实现对分查找使得在每次迭代中只有一个二路比较 这个题目说每次迭代只有一个二路比较不太明确是什么意思,我觉得应该是只比较一次吧,那就把判断mid的逻辑放在迭代之后了。 也不知道这么理解对不对,希望有明白人给解解惑。。
#include <stdio.h>
int
算法
未读
数据结构与算法解析习题2.19
数据结构与算法解析习题2.19:寻找主要元素 Majority Element 题干:大小为N的数组,其主元素是一个出现超过N/2的元素。 首先找出主元素的一个候选元,第二步确认该候选元是否为主元素。为找出数组A中的候选元,先构造一个数组B,比较A1和A2,如果相等,则放入到数组B中,然后比较A3和
算法
未读
数据结构与算法解析习题2.16
数据结构与算法解析习题2.16:不用递归,写出快速求幂的程序 用数组储存,x的1,2,4,8log2(n)次方,其实就是存x的2的数组index次方,储存下来。 然后把n转成2进制,转成2进制后,为1的位数,就是数组的index值,相应的元素,因为是求幂,所以这几个元素相乘。 #include <s
算法
未读
数据结构与算法解析习题2.14
数据结构与算法解析习题2.14:找出所有素数 这个主要用一个n+1(具体要不要+1根据后面给数组中元素赋值决定的,都可以)数组来记录素数的位置,比如7是素数,那么数组中index为7的元素就是1。 先把所有元素都置为1,然后在数组中非素数的index的元素,置为0,这样数组中为1的index,就是所
算法
未读
数据结构与算法解析习题2.13
数据结构与算法解析习题2.13:编写一个程序来确定正整数N是否是素数。 先判断是不是1,如果是1直接不是素数。 再判断能不能被2整除,最后判断能不能被小于n的开方整除,也就是说,判断n能否被2~n的开方整除。 如果都不能,就是素数。
int isPrime(unsigned int n) {
算法
未读
数据结构与算法解析习题2.12
数据结构与算法解析习题2.12:最小子序列和,最小正序列和,最大子序列乘积 书上的最大子序列和还有最小子序列和,最小正序列和,最大子序列乘积,这四个基本上是最常问的题了。 这几个绕来绕去容易把人搞蒙,算法有相似但地方但是细微的差别导致结果不同,再此记录一下。
#include <stdio.h>