LintCode 63. 搜尋旋轉排序陣列 II
阿新 • • 發佈:2019-02-18
跟進“搜尋旋轉排序陣列”,假如有重複元素又將如何?
是否會影響執行時間複雜度?
如何影響?
為何會影響?
寫出一個函式判斷給定的目標值是否出現在陣列中。
public class Solution { /** * @param A: an integer ratated sorted array and duplicates are allowed * @param target: An integer * @return: a boolean */ public boolean search(int[] A, int target) { // write your code hereif (A == null || A.length == 0) { return false; } return search(A, 0, A.length - 1, target); } private boolean search(int[] array, int start, int end, int target) { if (start == end) { if (array[start] == target) { return true; } else { return false;} } int middle = (start + end) / 2; boolean left = search(array, start, middle, target); boolean right = search(array, middle + 1, end, target); if (left == true) { return left; } else if (right == true) { return right; } else { return false; } } }