7.11 - medium总结12

228. Summary Ranges: 记录一个start 和一个end,当连续的时候就增加end,到断点的时候就处理一下值,并加入res,然后跟新start和end
229. Majority Element II: 和I类似,只是要记录两个值
230. Kth Smallest Element in a BST: 这题比较简单,inorder loop一下就好了
236. Lowest Common Ancestor of a Binary Tree:也是一道比较简单的divide and conquer的题目
238. Product of Array Except Self: 从左边乘到右边依次乘一遍,右边乘到左边依次乘一遍,然后找到相应的index两边的值相乘
240. Search a 2D Matrix II: 从左下到右上依次寻找,时间复杂度为O(m+n)
241. Different Ways to Add Parentheses:这题挺有意思,其实不是加括号,而是去找哪一个运算符最后一个进行运算。然后就会分成左右两边,然后就变成了divide and conquer,在这个过程中和那题给出n找所有的bst的题目很类似。都是返回一系列值,而不是一个值。再利用这一系列值构造当前层要返回的一系列值。
244. Shortest Word Distance II:把每一个的index都记录下来,然后通过循环找最小值。
245. Shortest Word Distance III:就是比上一题多考虑一种word相同的情况
247. Strobogrammatic Number II:也是一道backtracking的题目,其实还挺好想的。

你可能感兴趣的:(7.11 - medium总结12)