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

LeetCode704 二分查找

前言

题目: 704.二分查找
文档: 代码随想录——二分查找
编程语言: C++
解题状态: 解答错误,变量定义位置错误。

思路

有序数组的查找,最直接的思路应该就是二分查找。但是在查找的过程中要考虑到区间的边界问题,是左闭右开还是两边都闭。根据不同的情况来编写算法。注意,middle变量要放在while循环内来保证在每次循环时被有效更新。

代码

时间复杂度: O(log n)

class Solution {
public:int search(vector<int>& nums, int target) {int left = 0;int right = nums.size() - 1;while (left <= right) {int middle = left + (right - left) / 2;if (target < nums[middle]) {right = middle - 1;} else if (target > nums[middle]) {left = middle + 1;} else {return middle;}}return -1;}
};
http://www.lryc.cn/news/406341.html

相关文章:

  • [言简意赅] Matlab生成FPGA端rom初始化文件.coe
  • 【QAC】分布式部署下其他机器如何连接RLM
  • 从等保测评看行业安全趋势:洞察与预测
  • HTTP模块(二)
  • 引入缓存带来的问题以及解决方案
  • 力扣39题:组合总和的 Java 实现
  • 使用el-table实现自动滚动
  • Angular由一个bug说起之八:实践中遇到的一个数据颗粒度的问题
  • day13(DNS域名解析)
  • uboot的mmc partconf命令
  • 数据结构经典测题3
  • tensorboard add_text() 停止自动为尖括号标记添加配对的结束括号</>
  • sql-libs通关详解
  • 【STM32】当按键具有上拉电阻时GPIO应该配置什么模式?怎么用按键去控制LED翻转?
  • EXO-chatgpt_api 解释
  • 新能源汽车的充电网络安全威胁和防护措施
  • Linux中利用消息队列给两个程序切换显示到前台
  • C语言实例-约瑟夫生者死者小游戏
  • 算法类学习笔记 ———— 红绿灯检测
  • git命令使用详细介绍
  • WebStorm中在Terminal终端运行脚本时报错无法加载文件进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅
  • 【Java题解】以二进制加法的方式来计算两个内容为二进制数字的字符串相加的结果
  • docker -v 到底和那个一样?type=volume还是type=bind的解释
  • linux自动化构建工具--make/makefile
  • 学习记录——day15 数据结构 链表
  • vue3实现在新标签中打开指定的网址
  • Qt基础 | QSqlTableModel 的使用
  • RPA软件-影刀使用
  • HarmonyOS NEXT零基础入门到实战-第四部分
  • vue2获取视频时长