假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。
( 例如,陣列 [0,0,1,2,2,5,6] 可能變為 [2,5,6,0,0,1,2] )。
編寫乙個函式來判斷給定的目標值是否存在於陣列中。若存在返回 true,否則返回 false。
示例 1:
輸入: nums = [2,5,6,0,0,1,2], target = 0
輸出: true
示例 2:
輸入: nums = [2,5,6,0,0,1,2], target = 3
輸出: false
1public
class
_81
1516
//找出有序的那部分
17int t = null;18
if (nums[mid] <= nums[high]) else
27int res =arrays.binarysearch(t, target);
28if (res >= 0) return
true;29
30//
判斷無序的左邊是否存在target
31return
search(arrays.copyofrange(nums, nsl, nsr), target);32}
3334
public
static
void
main(string args) ;
36boolean res = new _81().search(nums, 2);
37 system.out.println("res = " +res);38}
39 }
稍微改進下。
1public
class
_81 else
if (nums[mid] >target) else14}
15return
false;16
}17public
boolean result(int nums, int target, int low, int
high)
2829
if (nums[mid] <= nums[high])
35if (nums[low] <= nums[mid])
41return
false;42
}43public
boolean search(int nums, int
target)
4950
public
static
void
main(string args) ;
52boolean res = new _81().search(nums, 8);
53 system.out.println("res = " +res);54}
55 }
LeetCode81 搜尋旋轉排序陣列 II
二分查詢,但是下面的 在測試用例 3,1 1中出錯。package 牛客刷題.leetcode.查詢.search in rotated sorted array ii created by administrator on 2018 6 28 0028.public class solution ...
LeetCode 81 搜尋旋轉排序陣列 II
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,0,1,2,2,5,6 可能變為 2,5,6,0,0,1,2 編寫乙個函式來判斷給定的目標值是否存在於陣列中。若存在返回true,否則返回false。示例 1 輸入 nums 2,5,6,0,0,1,2 target 0輸出 t...
leetcode81 搜尋旋轉排序陣列 II
假設按照公升序排序的陣列在預先未知的某個點上進行了旋轉。例如,陣列 0,0,1,2,2,5,6 可能變為 2,5,6,0,0,1,2 編寫乙個函式來判斷給定的目標值是否存在於陣列中。若存在返回 true,否則返回 false。示例 1 輸入 nums 2,5,6,0,0,1,2 target 0 輸...