| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 【Leetcode刷题】搜索插入位置 -> 正文阅读 |
|
[数据结构与算法]【Leetcode刷题】搜索插入位置 |
一、题目链接Leetcode链接:35. 搜索插入位置 请必须使用时间复杂度为 O(log n) 的算法。 示例 1:
示例 2:
示例 3:
提示:
二、思路读题我们可以知道以下两个条件:
要插入目标值,无非出现以下四种情况: 1. 目标值不在数组中,但比数组中的元素都要小 例如: 2. 目标值等于数组中的一个元素 例如: 3. 目标值不在数组中,但比数组中的某个元素大,又比某个元素小 – 即目标值将会插入数组中的位置 例如: 4. 目标值不在数组中,但比数组中所有元素都大。 例如: 三、题解题解一(暴力法)思路: 遍历数组,找到第一个比target大的数,它的位置就是目标值将会插入的位置,所以返回它的下标。若target比所有数都大,则返会数组的大小。
时间复杂度O(N) 由于题目要求必须时间复杂度为 题解二(二分法)思路: 由于题目中出现排序数组并且无重复元素,所以我们可以考虑是否能用二分法 若目标值在数组中,利用二分法查找目标值,这一种情况就不再多说了,若有不了解,请点击此处,进行查看,我们主要看其他三种情况
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:13:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |