摘要: 最后更新 二刷 11 Jan 2017 第一种方式是各种pointer标记轮到哪个LIST,在那个LIST是什么index,比较繁琐。 第二种方式是用Queue ,每次拿出最前面的list,拿出里面的element,然后如果此时list不是空的,从屁眼塞回原来的Queue里。 Time Comple 阅读全文
posted @ 2017-01-12 06:31 哇呀呀..生气啦~ 阅读(136) 评论(0) 推荐(0)
摘要: 最后更新 三刷。 11 Jan 2017 简单的二叉树,没啥技巧可言,DFS.. Time: O(n) Space: O(depth) 好像就是楞做,记录长度就行了。 判断失败就从0开始。。 iterative比较难啊。。貌似得记录每一个NODE的当时情况,就得有个MAP之类的了。。 先不考虑了 二 阅读全文
posted @ 2017-01-12 05:48 哇呀呀..生气啦~ 阅读(134) 评论(0) 推荐(0)
摘要: 最后更新 一刷 11 Jan 2017 这个题是Ez难度的吧。。。 注意edge cases就行。 熟悉下Character的方程: Character.isDigit(c); Character.isAlphabetic(c); 另外String.toUpperCase()就可以,没必要每一个ch 阅读全文
posted @ 2017-01-12 05:02 哇呀呀..生气啦~ 阅读(204) 评论(0) 推荐(0)
摘要: 最后更新 二刷 11 Jan 2017 首先,正常做的话,是每个格子都纵向横向CHECK一下,这样复杂度爆炸。。 看起来是用dp[][]记录情况,避免重复计算。但是这样的话,得有2个dp[][],分别记录某一个格子可在横向和纵向分别干死多少敌人。 空间复杂度又爆炸。。O(2MN) 不过可以优化。 遍 阅读全文
posted @ 2017-01-12 04:18 哇呀呀..生气啦~ 阅读(640) 评论(0) 推荐(0)