35. 搜索插入位置
Posted panweiwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35. 搜索插入位置相关的知识,希望对你有一定的参考价值。
思路:折半查找,关键在于停止循环的条件。
1 class Solution(object): 2 def searchInsert(self, nums, target): 3 """ 4 :type nums: List[int] 5 :type target: int 6 :rtype: int 7 """ 8 if target < nums[0]: 9 return 0 10 elif target > nums[len(nums) - 1]: 11 return len(nums) 12 13 i, j = 0, len(nums) - 1 14 while i < j-1: 15 if target == nums[i]: 16 return i 17 elif target == nums[j]: 18 return j 19 # 折半查找 20 temp = int((i + j) / 2) 21 if target == nums[temp]: 22 return temp 23 elif target > nums[temp]: 24 i = temp 25 elif target < nums[temp]: 26 j = temp 27 if target == nums[i]: 28 return i 29 else: 30 return i + 1 31 32 33 if __name__ == ‘__main__‘: 34 solution = Solution() 35 print(solution.searchInsert([1], 1))
以上是关于35. 搜索插入位置的主要内容,如果未能解决你的问题,请参考以下文章