348. Design Tic-Tac-Toe: 看似简单,但是如果track整个board就会TLE,还是需要track部分值
357. Count Numbers with Unique Digits: 这题可以用两种方法做,一种dp,就直接推导公式,一种是backtracking,dp还好想一些, backtracking没有做,可以试试
439. Ternary Expression Parser: 最后一题,做完了把这两天的总结一下,写在下面。这题是stack,只是要逆序来loop原本的array
总结:
544. Output Contest Matches:我是用递归做的,但是可以用iterative的方法来做,这样的话就是把每一层改变成新的值,对于递归来说只要找好它的终止条件就可以了。338. Counting Bits:这题用DP做比较简单,逻辑比较清晰。280. Wiggle Sort:我本来用quicksort来做的,但是要注意其实只要达到部分有序就可以了,所以直接loop一遍,swap不符合规定的就可以。413. Arithmetic Slices:还是利用了一些巧妙的数学特性,当前值和前面值的关系。像我是用dp把所有的都找到, 这样的条件就太强了。406. Queue Reconstruction by Height:greedy的问题基本就是找规律,先把同身高的拍好,然后再依次插入。370. Range Addition:这题很巧妙,利用prefix sum的特性,然后在最后一位加上一个负数,很扯的题目。526. Beautiful Arrangement: backtracking的题,还结合一些dp,对于backtracking中访问过的值直接从hash里读取。369. Plus One Linked List:因为这题只需要加1,所以用two pointer也可以做。442. Find All Duplicates in an Array: array本身就是一个可用的hash表,有时候可以利用这个做inplace的操作。495. Teemo Attacking: 这道题巧妙的地方在于每一次每一start的值都可以进行重制,这也是计算overlap的一种方法。531. Lonely Pixel I:有些矩阵的题目并不一定要记录矩阵中的每一个值,有时候只要记录行列的特性就可以了。
529. Minesweeper: 对于上下左右找邻居的写法值得探索
245. Shortest Word Distance III:可以利用找记录当前index的方法来减少空间复杂度,281. Zigzag Iterator解法还挺多的,因为方向性不会变,所以就是一个list一个list的走,238. Product of Array Except Self:挺巧妙的可以利用1的特性把空间复杂度降低为1,294. Flip Game II:这题很巧妙,用第二个玩家的情况来递归