国产探花免费观看_亚洲丰满少妇自慰呻吟_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;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象山县| 团风县| 鸡西市| 新疆| 泸水县| 通山县| 东明县| 安国市| 赤壁市| 台山市| 喀什市| 黄石市| 友谊县| 南阳市| 新平| 临夏县| 汪清县| 秭归县| 镇安县| 乌什县| 莱芜市| 佛山市| 常德市| 会同县| 肥东县| 彭山县| 北宁市| 维西| 肃宁县| 喀喇沁旗| 汽车| 彝良县| 昭通市| 乌鲁木齐市| 如东县| 环江| 东光县| 洮南市| 洛川县| 泌阳县| 渝中区|