描述

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

示例 1:

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

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

思路一:

直接爆力解法
时间复杂度:O(n)
空间复杂度:O(1)

class Solution {public:int search(vector<int>& nums, int target) {if(nums.size()==0) return -1;  //当输入数组为空则返回-1for(int i=0;i<nums.size();i++){if(nums[i]==target){return i;}}return -1;}
};

思路二:二分查找法

class Solution {public:int search(vector<int>& nums, int target) {if(nums.size()==0) return -1;  //当输入数组为空则返回-1int left = 0;int right = nums.size()-1;   //定义target在[left,right],左闭右闭的区间内while(left<=right){int mid = left + ((right-left)/2);  //等价与(left+right)/2if(nums[mid]<target){    //在右区间中left = mid + 1;}else if(nums[mid]>target){  //在左区间中right = mid -1;}else{return mid;}}return -1;}

LeetCode-数组-704. 二分查找相关推荐

  1. LeetCode No.704 二分查找 No.27移除元素

    LeetCode No.704 二分查找 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在 ...

  2. LeetCode Algorithm 704. 二分查找

    704. 二分查找 Ideas 这题想考察二分查找的来着. 对不起,真的对不起,作为Python爱好者,实在没忍住,就一行代码解决了. Code Python from typing import L ...

  3. leetcode系列--704.二分查找

    leetcode系列–第704题.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否 ...

  4. LeetCode题解:704.二分查找

    二分查找(easy) 更好的阅读体验应该是: 审题-思考 答题 整理-归纳 一.题目 LeetCode:704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 targe ...

  5. 【Day1】数组、704二分查找、27移除元素

    [Day1]数组.704二分查找.27移除元素 数组 704 二分查找 版本一 左闭右闭 即[left, right] 版本二 左闭右开 即[left, right) 27 移除元素 暴力解法 双指针 ...

  6. JS刷题第一天| 704. 二分查找、27. 移除元素

    704. 二分查找 题目链接:力扣 文章讲解:代码随想录 视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 看 ...

  7. leetcode练习一:数组(二分查找、双指针、滑动窗口)

    文章目录 一. 数组理论基础 二. 二分查找 2.1 解题思路 2.2 练习题 2.2.1 二分查找(题704) 2.2.2 搜索插入位置(题35) 2.2.3 查找排序数组元素起止位置(题34) 2 ...

  8. 代码随想录算法训练营第一天 | 数组理论基础,704. 二分查找,27. 移除元素

    今日学习的文章链接如下: 代码随想录 (programmercarl.com) 代码随想录 (programmercarl.com) 704. 二分查找 自己看到题目的第一想法 拿到题目首先想办法,一 ...

  9. [LeetCode]704.二分查找及相关题目

    数组理论基础 数组理论 数组是存放在连续内存空间上的相同类型数据的集合 数组可以方便的通过下标索引的方式获取到下标下对应的数据 二维数组在内存的空间地址是连续的 二分查找 LeetCode 704.二 ...

  10. Leetcode 704.二分查找 27.移除元素 代码随想录day1

    本系列目的在于跟练代码随想录,以及记录自己在数据结构与算法方面的一些学习 704.二分查找 其实之前自己在随便刷题的时候看过这道题目,就是一个纯新手的大状态,第一次听到二分查找这样的东西,然后跟着题解 ...

最新文章

  1. python 编译exe
  2. OpenCV 错误级别分析ELA的实例(附完整代码)
  3. DBMS、hdfs、hive之间的数据转换之sqoop
  4. 分治策略之最大子数组问题
  5. 机房系统(一)——【修改密码 登录 】
  6. html5写入唯一标识,id - 唯一标识符 - html5全局属性
  7. 安全,从写第一行代码开始!
  8. 一道简单却易混淆的高等数学求极限题目
  9. html网页的配色,css页面网页配色
  10. python安装哪个版本比较好,python选择哪个版本安装
  11. 用matlab还原全息图像,一种全息再现图像的零级像消除方法与流程
  12. 阿里云服务器加快下载github
  13. 【语音识别】获得MOOC视频的文本(字幕)
  14. 计算机编程英语词汇大全
  15. Laplacian算子-Log算子-Dog算子边缘检测原理合集及实现
  16. msc用户无法登陆问题记录
  17. idea 调节背景护眼_IDEA 护眼色设置 背景行颜色取消等设置
  18. 怎么在PDF中插入文本框并输入文字?
  19. git 常见用法及遇到的问题
  20. Gnome3桌面美化

热门文章

  1. 健康很重要 程序员应该坚持正确的坐姿工作
  2. 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩
  3. PAT甲级1079 Total Sales of Supply Chain:[C++题解] 树、结点到根结点的距离、树形dp、记忆化搜索
  4. bdd行为驱动开发 java_行为驱动开发(BDD)如何与领域驱动设计(DDD)结合?
  5. oracle 丁勇 从零开始学_8.3.1 多表查询分类
  6. Android中的表格布局
  7. 开关电源中的反馈电阻
  8. DualLinkList
  9. 蛇形矩阵c 语言怎么写,蛇形矩阵输出是要怎么写代码,感觉没有眉目啊,大佬能说一下思想吗...
  10. 改变跳转页面 英文_如何高效阅读英文文献?你可以试试它 | 知云文献翻译