网站建设如何做,烟台公司网站开发,工作中网页开发方案,学seo网络推广22. Generate Parentheses 要意识到只要还有左括号#xff0c;就可以放到path里。只要右括号数量小于左括号#xff0c;也可以放进去。就是valid的组合。recurse两次 74. Search a 2D Matrix
看成sorted list就好。直接用m*n表示最后一位的index#xff0c;并且每次只需要 …
22. Generate Parentheses 要意识到只要还有左括号就可以放到path里。只要右括号数量小于左括号也可以放进去。就是valid的组合。recurse两次 74. Search a 2D Matrix
看成sorted list就好。直接用m*n表示最后一位的index并且每次只需要
int x mid / n;
int y mid % n;
就可以算出位置。
值得注意的是左闭右开和左开右闭的写法
162. Find Peak Element
当一个middle不是peak的时候middle和旁边的两个element有三种可能单增单减波谷
单增/单减的话比middle大的那边是有可能有peak的因为如果增大再在某处减小就有peak如果一直增大那么在起头/结尾的地方会有peak因为 nums[-1] nums[n] -∞
波谷的话随便走一边就行
注意处理mid在最开始和最后的情况mid-1和mid1有的时候不valid。比如mid-1不valid的情况就要看mid1是不是大于mid如果是的话就废了如果不是就是peak当然本题不会出现废了的情况因为一定有peak 33. Search in Rotated Sorted Array 把这个图画出来。
先比较start和mid判断mid落在左边还是右边。
如果是左边那么当taregt大于mid和当target太小了到小于start的程度start就应该为mid1
如果是右边那么当target小于mid和当target太大了到大于end-1的程度end就应该为mid 34. Find First and Last Position of Element in Sorted Array
lowerbound 方法 如果lowerbound不存在没有比target大于等于的数字那么直接-1-1
如果存在那么检查target的lowerbound是不是target如果不是-1-1
如果是那么target的lb就是左边界target1的lb再减1就是右边界
lowerbound咋写背下来得了。
变化1midtarget的时候与targetmid一样的选择
变化2:返回left and下面这个方法不太理解。 153. Find Minimum in Rotated Sorted Array
先判断是否处在一个单增的线上如果是的话直接返回left就行。
如果不是那么如果mid在左半边较大的线上midstart那么start mid1只在右边找
如果mid在右半边线上最小值只会在左边。endmid因为有可能mid本身就是最小值。