題目
實現
這裏和 Search in Rotated Sorted Array 不同的地方在於數組裏可能有重複的元素,二分法就不能用了,如 [1,1, 2, 2, 3, 3, -3, -3, -2, -2, -1]
。如果使用二分法,mid 指針不會左右移動,而不會向收斂方向移動。
所以應該直接線性搜索比較好。
代碼
class Solution:
"""
@param A: an integer ratated sorted array and duplicates are allowed
@param target: An integer
@return: a boolean
"""
def search(self, A, target):
for i in range(len(A)):
if A[i] == target:
return True
return False