摘要: No.34, Search for a Range 后面的还是用java写吧。 这道题主要是找target在排好序的数组中的起始位置,例如5 7 7 8 8 10里面找8,结果为3,4,即从index=3到index=4都是8。题目要求O(logn),即二分。 这道题可以先找左起点,再找右终点,2l 阅读全文
posted @ 2016-04-21 21:51 上官筱儿 阅读(135) 评论(0) 推荐(0) 编辑
摘要: No.33,Search in Rotated Sorted Array 这道题最喜感的是,前一天刚做完,第二天某人的面试就遇到了。 这道题把一个排好序的数组截断,把前面的一段拼到后面的一段。例如0124567变成了4567012,在这样的数组中查找一个数的index。 既然局部有序,那么这道题肯定 阅读全文
posted @ 2016-04-21 20:23 上官筱儿 阅读(130) 评论(0) 推荐(0) 编辑
摘要: No.32 Longest Valid Parentheses 题目给出(和)组成的字符串,给出合法的最长的长度(即不违反()配对规则)。 这道题的解法为,从头到尾滤一遍,用栈的方式,先把配对情况整体给一遍,因为用栈的方式,一定会让配对的括号被标记出来,配对为1,不配对为0,最后找最长的连续1的个数 阅读全文
posted @ 2016-04-21 20:09 上官筱儿 阅读(136) 评论(0) 推荐(0) 编辑
摘要: No.31 Next Permutation 这道题主要是全排列问题,输出某一个数字序列的全排列的下一个情况,比如说1,2,3全排列的下一个是1,3,2。 全排列的顺序按字典序排列,比如123的全排列顺序为: 123 132 213 231 312 321 当然最笨的方法还是生成所有全排列然后找。 阅读全文
posted @ 2016-04-21 20:01 上官筱儿 阅读(195) 评论(0) 推荐(0) 编辑