zoukankan      html  css  js  c++  java
  • leetcode_35. 搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
    
    你可以假设数组中无重复元素。
    
    示例 1:
    
    输入: [1,3,5,6], 5
    输出: 2
    示例 2:
    
    输入: [1,3,5,6], 2
    输出: 1
    示例 3:
    
    输入: [1,3,5,6], 7
    输出: 4
    示例 4:
    
    输入: [1,3,5,6], 0
    输出: 0
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/search-insert-position
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    class Solution:
        def searchInsert(self, nums: List[int], target: int) -> int:
            for i in range(len(nums)):
                if nums[i]>=target :
                    return i
                
            return len(nums)
    
    [二分法其实很简单,为什么老是写不对!!](https://zhuanlan.zhihu.com/p/141480088?utm_source=wechat_session)
    [https://zhuanlan.zhihu.com/p/141480088?utm_source=wechat_session](二分法其实很简单,为什么老是写不对!!)
    
    from typing import List
    class Solution:
        def searchInsert(self, nums: List[int], target: int) -> int:
            #二分法
            if target<=nums[0]:return 0
            length=len(nums)
            if target>nums[-1]:return length
            start=0
            end=length-1
            while(start<=end):
                mid=start+(end-start)//2
                if target==nums[mid]:
                    return mid
                if target>nums[mid]:
                    start=mid+1
                else:
                    end=mid-1
            return end+1
    
  • 相关阅读:
    软件工程二人组队开发第一周
    软件工程第五周
    这学期的目标
    软件工程第四周的总结
    二维数组的最大子数组和 时间复杂度:O(n的四次方)
    10.tesseract
    mysql存储过程和函数
    mysql触发器
    9.selenium
    mysql练习
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14015850.html
Copyright © 2011-2022 走看看