国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

33. Search in Rotated Sorted Array

2019-11-08 03:27:52
字體:
來源:轉載
供稿:網友

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

You are given a target value to search. If found in the array return its index, otherwise return -1.

You may assume no duplicate exists in the array.

二分查找的思路解題,雖然數組被rotate了,但是mid的左邊或者右邊,總有一邊是sort的。我們需要判斷哪邊是order的,還有target是不是在這邊,如果是,繼續搜索這邊,如果不是,搜索另一邊。代碼如下:

public class Solution {    public int search(int[] nums, int target) {        int start = 0, end = nums.length - 1;        while (start <= end) {            int mid = start + (end - start) / 2;            if (nums[mid] == target) {                return mid;            }            if (nums[start] <= nums[mid]) {                if (target >= nums[start] && target < nums[mid]) {                    end = mid - 1;                } else {                    start = mid + 1;                }            }            if (nums[end] >= nums[mid]) {                if (target <= nums[end] && target > nums[mid]) {                    start = mid + 1;                } else {                    end = mid - 1;                }            }        }        return -1;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐柏县| 行唐县| 诏安县| 方山县| 巧家县| 昂仁县| 邯郸县| 安溪县| 临潭县| 邹平县| 水富县| 准格尔旗| 镇远县| 曲水县| 东光县| 安福县| 黎川县| 灌云县| 海淀区| 遂川县| 广水市| 彭水| 晋江市| 香河县| 稷山县| 汉沽区| 晋中市| 太和县| 宜春市| 怀柔区| 中牟县| 夏津县| 淮安市| 循化| 独山县| 濮阳市| 余庆县| 同仁县| 文水县| 天水市| 黑河市|