zoukankan      html  css  js  c++  java
  • LeetCode:35. 搜索插入位置

    1、题目描述

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

    你可以假设数组中无重复元素。

    示例 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

    2、题解

    2.1、解法一

      原理:二分查找

    class Solution:
    
        def searchInsert(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: int
            """
            n = len(nums)
    
            first, last = 0, n
    
            while first < last:
    
                mid = first + (last-first)//2
                if nums[mid] == target:
                    return mid
                elif nums[mid] > target:
                    last = mid
                else:
                    first = mid + 1
                print(first,last,mid)
    
            return first
    

      

  • 相关阅读:
    python基础7
    python基础7
    十大经典预测算法(一)----线性回归
    RNN-循环神经网络
    CNN之经典卷积网络框架原理
    卷积神经网络CNN
    决策树的生成
    欠拟合、过拟合及解决方法
    决策树
    KD树
  • 原文地址:https://www.cnblogs.com/bad-robot/p/10065170.html
Copyright © 2011-2022 走看看