当前位置: 首页 > news >正文

【剑斩OFFER】算法的暴力美学——搜索插入位置

一、题目描述

二、算法原理

通过题目的要求我们可以看出数组是有二段性的,所以我们把数组里面的数字分成两类:小于 target 和 大于等于 target;我们从这个数字分类可以看出可以使用查找左端点的二分查找来解决这道题目:

上道题目我们可以得知:

循环条件:left < right

判断条件:

if:nums[ mid ] < target,left = mid + 1

if:nums[ mid ] >= target,right = mid

求中点的方式:int  mid = left + (right - left)/2

三、代码实现

标准代码:

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

探测性代码:

class Solution {
public:int searchInsert(vector<int>& nums, int target) {//两种情况//1.目标值在数组中存在int left = 0,right = nums.size() - 1;while(left <= right){int mid = left + (right - left)/2;if(nums[mid] > target) right = mid - 1;else if(nums[mid] < target) left = mid + 1;else return mid;}//2.目标值不在数组中left = 0,right = nums.size() - 1;if(nums[right] < target) return nums.size();while(left < right){int mid = left + (right - left)/2;if(nums[mid] > target) right = mid;else left = mid + 1;}return left;}
};

http://www.dtcms.com/a/593340.html

相关文章:

  • 滨州市住房和城乡建设局网站自己做网站地址
  • ctfshow-web213
  • 【Rust】C和Rust交叉编译
  • 企业网站建设长沙找工作临时工
  • 六安网站建设报价方案陕西住房和建设厅网站
  • Elasticsearch:如何为 Elastic Stack 部署 E5 模型 - 下载及隔离环境
  • 第3章,[标签 Win32] :创建窗口01,CreateWindow 函数初识
  • FreeRTOS操作系统
  • 成都 在线 网站建设wordpress怎么改标题和meta
  • 正确理解类中的公共方法、内部方法和私有方法
  • 太平洋在线企业建站系统iphone wordpress
  • 零基础入门C语言之C语言实现数据结构之单链表
  • 4. SpringBoot 自定义Banner使用与原理解析
  • Docker环境搭建:Windows/macOS/Linux全平台教程
  • mac安装GIT
  • 开锁公司做网站网站对企业的好处
  • 我爱你域名的网站html5网站建设报价
  • Diffusion VS Flow Matching
  • 电子电气架构 --- 一个具体项目的需求管理(实例化)
  • 11.string(下)
  • OpenVINS代码解读---State.h
  • 提供深圳网站制作公司永久使用免费虚拟主机
  • 智能时代的缘起:从ChatGPT到修行之路
  • 智能守护绿水青山:视频融合平台EasyCVR在森林防火监控中的实战应用
  • 如何做好网站建设前期网站规划软文写手兼职
  • docsify 本地部署完整配置模板 || 将md文件放到网页上展示
  • Bash Shell脚本学习——唇读数据集格式修复脚本
  • 网站界面用什么软件做建设网站需申请什么
  • 底层视觉及图像增强-项目实践(十六-0-(8):端到端DeepHDRNet:从原理到LED显示工程的跨界实践):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • 视频号视频下载到手机的详细教程,以及常使用的工具!