1.问题描述:
在一个排序数组中找一个数,返回该数出现的任意位置,如果不存在,返回-1。
2.样例:
给出数组 [1, 2, 2, 4, 5, 5]
.
- 对于 target =
2
, 返回 1 或者 2. - 对于 target =
5
, 返回 4 或者 5. - 对于 target =
6
, 返回 -1.
3.代码:
class Solution:
"""
@param: nums: An integer array sorted in ascending order
@param: target: An integer
@return: An integer
"""
def findPosition(self, nums, target):
# write your code here
length=len(nums)
end=length-1
start=0
mid=(end-start)/2
while start<end:
if target<nums[mid]:
end=mid-1
mid=(end-start)/2
elif target>nums[mid]:
start=mid+1
mid=(end+start)/2
else:
return mid
return -1