leetcode
菜鸟决心努力A-A
我不喜欢bug,呜呜呜呜呜呜
展开
-
LeetCode bug记录
指针操作: 刚开始做指针操作时,容易出现思路混乱的问题,导致代码混乱, 整理好思路,每个操作着眼于意义,而不是直接是操作,如tree的遍历过程,递归的时候,对于每次函数调用,都会遇到什么情况,每种情况怎么处理,然后建立分支。细节上,注意循环指数。不要急,慢慢写 数组访问越界的时候也会导致Time Limited Execuded 访问NULL指针指向的数据则会报RunTime ErrorP原创 2016-04-12 21:29:51 · 440 阅读 · 0 评论 -
array rotation
这个题有很多种解法:(n为数组长度,k为偏移步数,注意偏移值是任意值,即也要考虑负值) 1. 开辟另一个数组进行存储; Time = n(2R + 2W) [ 连续 ] Memory = n下面是in-place rotation,即Memory = 1: 1. Time = n(R + W) [ 不连续 ] 使用gcd 如果G为n,k的gcd,那么只需进行G次循环,每次循环完成(g原创 2016-05-13 20:50:45 · 418 阅读 · 0 评论 -
binary search
这里主要讨论的是binary search的边界情况及处理。参考 : http://my.oschina.net/fullofbull/blog/199693?fromerr=2T6aDmtE经典版本:(注意,边界条件迭代、循环终止条件设定,中位数计算)int binary_search(int *A, int n, int target){ int low = 0, high = n -原创 2016-05-14 14:43:28 · 309 阅读 · 0 评论 -
recursive
10 . Regular Expression Matching 要避免出现分支直接的重复,出现重复分支就出出现Time Lemmited的问题,可参考代码如下: 不通过的代码: bool isMatch(string s, string p) { if (p.empty()) return s.empty(); if ('*' == p[1])原创 2016-06-12 22:18:30 · 357 阅读 · 0 评论