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

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

LeetCode-SearchinRotatedSortedArray

2019-11-14 14:54:03
字體:
來源:轉載
供稿:網友

題目:

Search in Rotated Sorted Array
Total Accepted: 81090 Total Submissions: 277272 Difficulty: Hard

Suppose a sorted array 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.

思路:

數組被翻轉,我們以中間元素為核心,把它分為兩種情況,一種情況是中間元素的左邊是有序的,一種是中間元素的右邊是有序的。比如{ 0 1 2 4 5 6 7 }被翻轉為{ 6 7 0 1 2 4 5 }或{ 2 4 5 6 7 0 1 }。

所以每次判斷我們都取輕避重,總是跟有序的這邊比較。

package array;public class SearchInRotatedSortedArray {    public int search(int[] nums, int target) {        int len = 0;        if (nums == null || (len = nums.length) == 0) return 0;        // { 0 1 2 4 5 6 7 }        // 1. { 6 7 0 1 2 4 5 }        // 2. { 2 4 5 6 7 0 1 }        int l = 0;        int r = len - 1;                while (l <= r) {            int mid = (l + r) / 2;            if (nums[mid] == target) return mid;            if (nums[mid] < nums[r]) {                if (target > nums[mid] && target <= nums[r])                    l = mid + 1;                else                    r = mid - 1;            } else {                if (nums[l] <= target && target < nums[mid])                     r = mid - 1;                else                    l = mid + 1;            }        }                return -1;    }        public static void main(String[] args) {        // TODO Auto-generated method stub        int[] nums = { 4, 5, 6, 7, 0, 1, 2 };        SearchInRotatedSortedArray s = new SearchInRotatedSortedArray();        System.out.PRintln(s.search(nums, 2));    }}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信阳市| 霍城县| 盐源县| 阜宁县| 深水埗区| 翁牛特旗| 应城市| 梅州市| 滕州市| 巴南区| 西吉县| 陵川县| 铁力市| 石家庄市| 安庆市| 宜丰县| 开阳县| 龙川县| 门源| 兴文县| 长丰县| 工布江达县| 微博| 大新县| 定安县| 都安| 元氏县| 安阳县| 易门县| 五家渠市| 馆陶县| 扶余县| 昌邑市| 堆龙德庆县| 惠来县| 双鸭山市| 陆良县| 屯门区| 阜新| 河北省| 聊城市|