摘要:
数独判断。。 楞做。。 Time: O(k²) k = length of board (9) space: O(k) java public class Solution { public boolean isValidSudoku(char[][] board) { if (board.leng 阅读全文
posted @ 2016-11-05 08:12
哇呀呀..生气啦~
阅读(82)
评论(0)
推荐(0)
摘要:
这个其实挺难的,第二次做还是不太会。 题目说的without extra space其实是想表达constant space.. 主要就是不让转化为Sring或者重新allocate another array.. 正常做的话反着一位一位组成一个新的值,和原来的比较。。 Time: O(lgN) S 阅读全文
posted @ 2016-11-05 06:29
哇呀呀..生气啦~
阅读(84)
评论(0)
推荐(0)
摘要:
这个题以前做的不对,以前实际上是在期间建立templist了。 要用list.set(i,j)来做才满足O(k) java public class Solution { public List getRow(int rowIndex) { List res = new ArrayList(); f 阅读全文
posted @ 2016-11-05 05:10
哇呀呀..生气啦~
阅读(74)
评论(0)
推荐(0)
摘要:
只有2和5相乘能出现0. 然后每出现一个5,能出现好几个2,所以凑2和5的话,看5就行了,2是足够的。。 比如10!, 10/5得到2,目前有2个5,很多2,所以最后有2个0,跟5有关。。 注意因为是trailing,第一个0不算,N=0的时候结果是0不是1. 阅读全文
posted @ 2016-11-05 04:42
哇呀呀..生气啦~
阅读(78)
评论(0)
推荐(0)
摘要:
正规做法是用一个STACK记录信息,每次PUSH都先把Stack里的所有东西弄到另一个stack里,添加当前X,然后再都弄回去。。 POP和PEEK都一样。 如果记录HEAD的话 PEEK就不用麻烦了。 也有用两个STACK的,一个正着,一个倒着,大同小异……各有利弊吧。。 time: push O 阅读全文
posted @ 2016-11-05 04:38
哇呀呀..生气啦~
阅读(58)
评论(0)
推荐(0)
摘要:
这种题都是双指针,一个遍历,一个记录有效长度。 一开始需要判断一下。 我一上来用while找到第一个重复的元素以便于更改,其实没必要,我们知道第1个元素无论如何也会在我们的结果中,所以从第二个直接开始遍历就行。。一开始的WHIL过程就是for loop中 nums[j] == nums[j 1]的过 阅读全文
posted @ 2016-11-05 03:58
哇呀呀..生气啦~
阅读(73)
评论(0)
推荐(0)
摘要:
正常DFS是check一个点的左右深度,比较,满足的话再check左右节点,这样的话有很多重复运算。 bottom up就比较合理,一旦发现不满足的,可以不再CHECK,直接返还FALSE就行了。 和那个找least common ancestor的有点像 回头看很多E难度的题不是做完了就那么简单的 阅读全文
posted @ 2016-11-05 03:38
哇呀呀..生气啦~
阅读(73)
评论(0)
推荐(0)