• leetcode——35.搜索插入位置


     1 class Solution:
     2     def searchInsert(self, nums, target: int) -> int:
     3         if target in nums:
     4             return nums.index(target)
     5         else:
     6             if target>=nums[-1]:
     7                 return len(nums)
     8             if target<nums[0]:
     9                 return 0
    10             for i in range(len(nums)):
    11                 if target>=nums[i] and target<nums[i+1]:
    12                     return i+1
    执行用时 :88 ms, 在所有 Python3 提交中击败了26.55%的用户
    内存消耗 :14.2 MB, 在所有 Python3 提交中击败了5.47%的用户
     
                                                                                                    ——  2019.9.24
     

    二分法
    public int searchInsert(int[] nums, int target) {
            //二分法
            int len = nums.length;
            if(len == 0){
                return 0;
            }
            int left = 0,right = len;
            while(left<right){
                int mid = left + (right - left)/2;
                if(nums[mid] == target){
                    return mid;
                }else if(nums[mid] > target){
                    right = mid;
                }else{
                    left = mid+1;
                }
            }//循环结束还是没找到的时候,left == right,则返回left+1
            return left;
        }

    ——2020.7.15

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    Java面向对象编程之异常处理机制
    LinkedList链式集合
    Java之反射机制
    适配器模式
    QuickHit
    Java之单例模式
    Java面向对象之接口
    多线程
    线程同步
    试题分析
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11577016.html
Copyright © 2020-2023  润新知