摘要: 就是二分搜索,做三遍。 1.第一遍找到第一个target 2.第二遍找到左侧的边界 3.第三遍找到右侧的边界 1 public int[] searchRange(int[] nums, int target) { 2 int[] res = new int[2]; 3 res[0] = -1; 4 阅读全文
posted @ 2016-02-26 10:10 warmland 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 这道题思路如下: 1.从后往前找到第一个不是递增的数字的位置,记录下为p,如果p已经走到尽头,那么直接颠倒所有数字然后返回 2.从p往后找到比p大的最小的那个数的位置q 3.交换p,q的位置 4.对于p之后的所有的数颠倒位置 理由是这样的,如果一个数从后往前的数字都是递增的,那么这个数已经是排列出来 阅读全文
posted @ 2016-02-26 08:53 warmland 阅读(345) 评论(0) 推荐(0) 编辑