欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

剑指 Offer 53 - II. 0~n-1中缺失的数字 python

程序员文章站 2024-03-07 22:56:03
...

剑指 Offer 53 - II. 0~n-1中缺失的数字 python
明显数组有序,因此用二分查找,提高时间复杂度;

判断当前数字是否等于下标,若等于,则继续;
如果不等于,则是大于的情况,更改high指针即可

代码如下:

class Solution:
    def missingNumber(self, nums):

    	low = 0
    	high = len(nums) - 1
    	n = len(nums) - 1

    	while low <= high:

    		mid = (low + high) //2

    		if nums[mid] == mid:

    			low = mid + 1

    		if nums[mid] > mid:

    			high = mid - 1


    	return  low

个人理解:
二分查找的题要注意返回的是哪个下标,low还是high;返回对的话相对容易写,可以自己画图试验一次。

相关标签: leetcode