06 2016 档案
欧几里德算法
摘要:Recursive: int gcd(int a, int b) { return b ? gcd(b, a%b) : a; } Iterative: int gcd(int a, int b) { while (b) { int tmp = b; b = a%b; a = tmp; } retur
阅读全文
int 和 string 相互转换(简洁版)
摘要:string int2str(int x) { return x ? num2str(x/10)+string(1,x%10+'0') : "";} int str2int(string s) { int x = 0; for (char it : s) x = x*10+it-'0'; retur
阅读全文
链表反转 (Multi-method)
摘要:链表反转是链表相关问题最基础的知识,做完LeetCode中LinkedList后才会有这种体会,因为ACM算法中不会涉及这一部分。解决这一问题有多种方法,在面试中面试官通常也会要求写出多种。包括stack,iterative,以及recursive。 (1) stack: a. 按顺序将节点push
阅读全文
二分查找 (最经典代码,及其边界条件的实践分析)
摘要:(注: 原创博客,转载请引用 http://www.cnblogs.com/wubdut/p/5578147.html) 代码举例: Array递增,找第一个不小于target的下标。 int theIndex(vector<int> Array) { int lo = 0, hi = Array.
阅读全文