1. 程式人生 > >LintCode 63. 搜尋旋轉排序陣列 II

LintCode 63. 搜尋旋轉排序陣列 II

跟進“搜尋旋轉排序陣列”,假如有重複元素又將如何?

是否會影響執行時間複雜度?

如何影響?

為何會影響?

寫出一個函式判斷給定的目標值是否出現在陣列中。

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 here
if (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; } } }