Leetcode题目总结[704]二分查找

题目描述

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1


示例 1:

输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 nums target nums

示例 2:

输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1 nums target nums

 

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。
  2. n 将在 [1, 10000]之间。
  3. nums 的每个元素都将在 [-9999, 9999]之间。

代码

复制代码
1 /* 2 * @lc app=leetcode.cn id=704 lang=cpp 3 * 4 * [704] 二分查找 5 */ 6 7 // @lc code=start 8 class Solution { 9 public: 10 int search(vector<int>& nums, int target) { 11 int left = 0,right = nums.size(); 12 int mid = (left + right) / 2; 13 while(left <= right) 14 { 15 if(nums[mid] == target) 16 { 17 return mid; 18 } 19 if(nums[mid] < target) 20 { 21 left = mid + 1; 22 } 23 if(nums[mid] > target) 24 { 25 right = mid - 1; 26 } 27 mid = (left + right) / 2; 28 } 29 return -1; 30 } 31 }; 32 // @lc code=end
复制代码

 


__EOF__

本文作者cheng_zhi
本文链接https://www.cnblogs.com/chengzhid/p/15232171.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cheng_zhi  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示