查找有序数组指定元素,返回目标元素下标,如果不存在,则插入适当位置使数组仍然保持有序,时间复杂度为O(log(n)),该算法是基本查找算法,可以用二分法。下面是代码实现。

class Solution {
public:int searchInsert(vector<int>& nums, int target) {int size = nums.size(), left = 0, right = size - 1, mid = 0;while (left <= right){mid = (left + right) / 2;if (target == nums[mid])return mid;else if (target < nums[mid])right = mid - 1;elseleft = mid + 1;}return left;}
};

输出结果:

查找有序数组(二分法)(时间复杂度O(logn))——C++相关推荐

  1. c语言中的数组二分法排序程序,#C语言#二分法查找有序数组

    C语言的二分法,想必很多朋友都在初学时是一个难啃的骨头,因为这是必须掌握的最基础的一种算法.在这里我分享一下这个简单的#二分法#查找有序数组 #include int binary_search(in ...

  2. 二分法查找是基于有序_利用二分法查找有序数组中是否含有给定Value

    //利用二分法查找有序数组中是否含有给定Value class AlgorithmByZXQ { /// /// 二分法查找数组中某一数值 /// /// /// /// /// /// public ...

  3. 如何用二分查找法查找有序数组

    一.程序简述 需要查找一个数字在数组中的位置,可以使用二分查找法在一个有序数组中查找具体的某个数字n 二.程序要点 1.普通的遍历查找方法的复杂度为n,那么二分查找算法的复杂度就是log2n 2.二分 ...

  4. 查找有序数组中某个数首次出现的位置

    为什么80%的码农都做不了架构师?>>>    给定一个排序的数组,找出数组中某个元素第一次出现的位置.如果没有找到返回-1. 某次面试时遇到这个题.当时用循环形式的二分查找做的,解 ...

  5. 二分查找 —— 有序数组不小于(不大于)某数的第一个(最后一个)元素

    1. 不小于某数的第一个元素 def bisearch(l, e, lo, hi):while lo < hi:mi = (lo + hi)//2if e > l[mi]: lo = mi ...

  6. python二分法查找时间点_python有序查找算法:二分法

    二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 但是需要注意:待查找的序列区间单调有序 例如需要查找有序数组arr里面的某个关键字key的位置,那么首先确 ...

  7. 无序链表(顺序查找)和有序数组(二分查找)-基础实现-符号表(二)-数据结构和算法(Java)

    文章目录 1 无序链表的顺序查找 1.1 无序链表实现 1.2 分析 2 有序数组中的二分查找 2.1 实现 2.2 分析 3 对二分查找的分析 4 总结 5 后记 1 无序链表的顺序查找 1.1 无 ...

  8. 【LeetCode】陌陌面试-有序数组于其一个元素翻转后,判断一个数是否存在数组中,时间复杂度O(logn)

    1.有序数组,判断一个数是否存在于数组中,时间复杂度O(logn) 解题思路: 二分法,在有序数组中,提高时间复杂度的一个方法. 代码: def demo(nums, target):left,rig ...

  9. 折半查找一个有序数组中的一个元素,即二分法

    折半查找法(二分法) 在写程序中,我们需要注意的是函数的要求,需要你输入的是下标,那么下标是由low和high共同求得.我会在下面给大家介绍的. 运行结果 代码如下 #include<stdio ...

最新文章

  1. 16 分频 32 分频是啥意思_Verilog 数字分频器的设计及验证
  2. 机房系统(十)——【结账】
  3. c语言输出最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  4. C++中如何读取一个数的位数_求1000以内的水仙花数
  5. php 网页转pdf
  6. android内部类broadcastreceiver,android 公开静态内部类BroadcastReceiver
  7. Leetcode每日一题:26.remove-duplicates-from-sorted-array(删除排序数组中的重复项)
  8. DevOps ACA 软件代码与质量管理(六)
  9. word未保存文件关闭之后,如何恢复
  10. java 拼音_GitHub - promeG/TinyPinyin: 适用于Java和Android的快速、低内存占用的汉字转拼音库。...
  11. 高性能网站架构之缓存篇—Redis集群搭建
  12. tex插入excel图表_Excel:以编程方式插入图表。
  13. 百度、腾讯、阿里等互联网公司年终奖都发多少?找工作指南
  14. Hive环境搭建(保姆级教程)
  15. 算法训练 - 阿尔法乘积 计算一个整数的阿尔法乘积。对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿 尔法乘积就等于它的各位非0
  16. R-ggplot2 标准中国地图制作
  17. Docker搭建nextcloud使用云盘
  18. Java细枝末节:运算符优先级表
  19. 取款机中出现假币的分析
  20. 利用Qt制作连续性图片

热门文章

  1. Java---json格式化工具类
  2. 黑漆漆的控制台也可以炫起来66666
  3. 机器学习笔记之概率图模型(四)基于贝叶斯网络的模型概述
  4. WMS、MES与ERP的集成案例分享(连载一:系统端的智能集成)
  5. 昂贵的聘礼「最短路」「思维」
  6. 1. 介绍Emscripten
  7. about command
  8. 吴恩达深度学习课程翻译
  9. IP库新增10多个功能IP
  10. 杨老师课堂_Java教程第四篇之数组运用