摘要: 题目剑指 offer 数字在排序数组中出现的次数剑指 offer 旋转数组的最小数字Leetcode Search for a RangeLeetcode Search Insert PositionLeetcode Search a 2D matrixLeetcode sqrt(x)九度 1534 数组中第 K 小的数字剑指 offer 二维数组中的查找思路1. 二分法总体不难, 但是在边界问题的处理上需要格外的小心2. 上面的题目都是二分查找问题的变形, 要么是二分查找配合 int 特性(1/2 = 0), 要么是利用二分查找的原理来查找3. 第一题和第三题是等价的, 都是查找一个数在排序 阅读全文
posted @ 2014-03-22 21:47 周卓 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 题目九度 1502最大值最小化POJ 3273Monthly ExpensePOJ 3258 River Hopscotch思路1. 读题时若感觉到需要求最大(小)值最小(大)化, 就要考虑使用二分搜索2. 解题框架: 先初始化一个值 x, 然后根据 x 是否能够满足条件调整 x 的值. 因为 x 是 int 类型, 所以保证 x 能收敛到符合题意3. 在 1502 中, x 是每一个抄写员应该抄写的本页数, x 可以初始化为 1 或者所有书的页数之和. 当 x 的设置使得需要的抄写员多于 k 时说明 x 偏小了, 每个抄写员应该抄写更多的页数. Vice verse, 最终将能收敛到正解4. 阅读全文
posted @ 2014-03-22 20:56 周卓 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 1. double, float 类型小数点后取两位输出printf("%0.2f\n", number);cout string result; int n = 10000; stream > result; 4. string 到 int 的转换 #include string result = "100000"; int n = 0; stream > n; 阅读全文
posted @ 2014-03-22 19:35 周卓 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目LeetcodeReverse Words in a String九度1525:子串逆序打印思路1. 做过几道正序处理字符串的题目, 这些题目的特点是状态比较多, 假如都写在 mian 函数里可能导致思路混乱. 所以总结了一下解决此类题目的框架2.void(int) gotoFlow1() { ...}void (int) gotoFlow2() { ...}int i;for(i = 0; i = s.size()) break; if(s[i] == uuuu) { // condition 2 gotoFlow2(); continue; }} 3. 这个框架外层用 whil... 阅读全文
posted @ 2014-03-22 17:55 周卓 阅读(189) 评论(0) 推荐(0) 编辑