摘要:
二分查找本身并不难, 难的是二分查找的扩展问题1. 假如 target 不在数组中, 输入其应该在的位置2. 找到大于 target 的最小值的位置或小于 target 的最大值的位置3. target 在数组中连续出现多次, 分别找到 target 的最左位置和最右位置int _bsearch(int A[], int m, int n, int target) { if(m > n) ----------------------------- 变量 x return m; --------------... 阅读全文
摘要:
1. 枚举类型浅谈假设我们要设计一个打开文件的函数, 打开文件由三种状态: input, output 和 append. 不使用枚举, 我们可能会写出如下的代码const int input = 1;const int output = 2;const int append = 3;bool open_file(string file_name, int open_mode);这种做法有两个缺点, 就是无法限制传递给 open_file 函数的第二个参数的取值范围, 只要传递的是 int 值, 函数本身就是合法的.第二个缺点是语义性不强, 传入的 int 变量语义不够明确使用枚举, 可以比较 阅读全文
摘要:
代码:class Solution {public: vector > zigzagLevelOrder(TreeNode *root) { vector > res; if(root == NULL) return res; vector level; deque record; record.push_back(root); int cnt = 1, curcnt = 0; bool order = true; while(!record.empty()) { TreeNode *nxt = record.front(); reco... 阅读全文