活跃农民
- 积分
- 379
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2020-3-12
- 最后登录
- 1970-1-1
|
菜鸡第二十天!
今天还是五道题
1. swap nodes in pairs:两两翻转,用的recursion,每次先把前两个翻一下,再用recursion call剩下的nodes
2. valid sudoku: 学习了其实可以只用一个set,每次试图放row+col+block的信息,ex. (1, 1)处是9可以存一个string类似"row 1(9)",
这样一个sudoku只用一个set,就是string concatenation会慢一点
3. plus 1:一开始是用类似加两个数一样做的,看了discussion发现如果最后一位不是9,就可以+1 return,是9的话就设成0,让下一位
加1return,如果在第一个loop里没有return,就说明是类似9, 99, 999,这样的情况,直接用一个新array第一位设成1就可以了
4. reverse nodes in k group: 这个学习了一下iterative的做法,先算一下list长度,然后第一个loop每次n-=k, 第二个loop翻转k个nodes
反转的时候就是先用prev和tail,然后temp = tail.next.next; tail.next = prev.next; prev.next = tail.next; tail.next = temp,每次翻完
k个nodes之后把prev和tail向前移。
5. valid mountain array: 之前写的时候用了一个标记是否是upward的boolean,这次学习了一个用two pointer的方法,两个指针从两边
开始走,如果valid就会在中间某一个index相遇
明天应该学一下backtracking
|
|