博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019-01-07 搜索插入位置
阅读量:5771 次
发布时间:2019-06-18

本文共 1162 字,大约阅读时间需要 3 分钟。

首先当然是暴力循环解决问题(好像都能用暴力循环解决问题,为什么还会哟那么多不同的算法,算法研究真不容易,研究出算法的都是大大神)。

class Solution(object):    def searchInsert(self, nums, target):        if target <= nums[0]:            return 0        if target > nums[-1]:            return len(nums)        if target == nums[-1]:            return len(nums)-1        for i in range(len(nums)-1):            if nums[i] == target:                return i            # print(nums[i] < target)            # print(nums[i+1] > target)            if nums[i] < target and nums[i+1] > target:                print (i)                return i+1复制代码

上面的方式有点复杂,下面将代码简化一下:

class Solution(object):    def searchInsert(self, nums, target):        for i in range(len(nums)):            if target <= nums[i]:                return i        return len(nums)复制代码

Python作为高级语言,当然有封装好的方法,而却不止一种:

class Solution(object):    def searchInsert(self, nums, target):        nums.append(target)        nums.sort()        return nums.index(target)复制代码

还可以使用第三方的库:

from bisect import bisect_leftclass Solution(object):    def searchInsert(self, nums, target):        return bisect_left(nums, target)复制代码

转载于:https://juejin.im/post/5c3312f7518825247c72228b

你可能感兴趣的文章
linux系统终端命令提示符设置(PS1)记录
查看>>
C++运算符重载
查看>>
【Web】URI和URL,及URL的编码
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>
oracle的substr函数的用法
查看>>
QT 数据库编程四
查看>>
npm下载包时代理配置
查看>>
全球十大理论
查看>>
model.addAttribute("student",student)——渲染
查看>>
JavaWeb开发之普通图片验证码生成技术与算术表达式验证码生成技术
查看>>
python和pywin32实现窗口查找、遍历和点击
查看>>
第二章 概率图模型的基本原理
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Nginx反向代理,负载均衡,redis session共享,keepalived高可用
查看>>
CentOS7 yum 安装git
查看>>
sublime text 3浅色主题
查看>>
数据结构之红黑树(三)——删除操作
查看>>
html5视频标签
查看>>
JAVA进阶-注解
查看>>