栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

LeetCode 35:搜索插入位置

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode 35:搜索插入位置

LeetCode 35:搜索插入位置

最近又双叒叕开始刷题了,看了很多大佬的解析,受益良多,自己也开始写写刷题历程。根据大佬指导,第一题是就拿《LeetCode 35:搜索插入位置》练练手,共勉。

一、题目


题目未截全,如有需要,详见 https://leetcode-cn.com/problems/search-insert-position/

二、解析

因为题目是一个有序的数组,且数组的元素没有重复。对有序数组进行查找,并且返回索引值。这种情况可以使用二分法

1.首先确定区间:[left,right),left从0开始,使用左闭右开的规则,这样可以覆盖到空区间、元素不在列表中的情况

2.关键变量定义:left = 0; right = len(nums); mid = left + (right - left)//2;因为左区间是闭区间,所以 left = mid + 1;right = mid

3.小知识补充:其中在python语言中 // 是指整除不要余数, / 是指正常除有余数;mid中取mid = left + (right - left)//2可以防止大数溢出

三、编码
class Solution:
    def searchInsert(self, nums: list[int], target: int) -> int:
        left,right = 0,len(nums)
        while left < right:
            mid = left + (right-left) // 2
            if target > nums[mid]:
                left = mid + 1
            else:
                right = mid
        return left
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号