leetcode35索引插入位置-尊龙官方平台

leetcode35索引插入位置

el/2024/3/25 16:27:46
# 20200520"""
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。示例 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
""""""
审题:排序数组,无重复元素
算法一:
特例处理:如果数组为空,返回0
因为索引和值都需要,用enumerate遍历
如果找到了,就返回其索引
如果找不到:找到第一个小于的值,返回其索引【可以和上面合一起写】找不到,则放在最后复杂度分析:
时间复杂度:o(n)
空间复杂度:o(1)算法二:用二分法复杂度分析:
时间复杂度:o(logn)
空间复杂度:o(1)
"""class solution(object):def searchinsert(self, nums, target):""":type nums: list[int]:type target: int:rtype: int"""# 特例处理:如果数组为空,返回0if not nums:return 0for idx,num in enumerate(nums):if num >= target:return idxreturn len(nums)s = solution()
print(s.searchinsert([], 5))
print(s.searchinsert([1,3,5,6], 5))
print(s.searchinsert([1,3,5,6], 2))
print(s.searchinsert([1,3,5,6], 7))
print(s.searchinsert([1,3,5,6], 0))

http://www.ngui.cc/el/5126985.html

相关文章

docker基础知识及安装

理论 问题 1 换了一个环境或者机器,代码跑不起来了 2 支持5000qps = query per second,突然并发太大,hold不住了 解决 ---- 扩容,买机器,成本高 概念 docker:go语言编写的,”build, ship and run any app, anywhere” 一次编译,到处运行 将应用程序所需的环境,…

leetcode面试题58 - ii. 左旋转字符串

面试题58 - ii. 左旋转字符串 难度简单 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab&q…

leetcode面试题04. 二维数组中的查找

面试题04. 二维数组中的查找 难度简单 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [[1, 4, …

leetcode面试题17. 打印从1到最大的n位数

""" 面试题17. 打印从1到最大的n位数 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表…

错误处理 -- mysql备份命令 mysqldump

写在前面:很多时候,一个小报错会耗费好几个小时,今天是其他同学遇到了这个小问题。 想想自己也经常遇到,就决定写些报错处理~~ 时间久了,多总结,就会发现解决报错是有套路的。 备份数据库,注意…

测试左移之代码评审

本文转载于 https://www.cnblogs.com/yulia/p/7363438.html 原文出自腾讯移动品质中心tmq http://mp.weixin.qq.com/s/0zyivsosalebnm4batftww 导读 最近两年,品质中心极力推动测试工作左移,以期能提前发现产品的问题,降低成本。笔者自认代…

java 封装encapsulation

定义 面向对象三大特征:封装、继承、多态 封装性体现: 方法关键字private 作用:隐藏代码细节,使外界不可见,控制外部访问成员变量,阻止不合理数值设置,增强安全性 优点:减少耦合、便…

java 变量 局部变量和成员变量区别

变量定义 程序运行过程中,可以改变的量 变量声明 所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ value][, identifier [ value] …] ; 格式说明:type为java数据类型。identifier是变量名。可以使用逗号隔开来声明…

leetcode711. 宝石与石头

题目:宝石与石头 给定字符串j 代表石头中宝石的类型,和字符串 s代表你拥有的石头。 s 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 j 中的字母不重复,j 和 s中的所有字符都是字母。字母区分大小写,因此"a"和"a"是不…

java super 和 this 关键字

总结 super 访问父类内容, this 访问本类内容 super 关键字用法: (注:首字母小写) 在子类的成员方法中,访问父类的成员变量在子类的成员方法中,访问父类的成员方法在子类的构造方法中…
网站地图