力扣 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
提示:
- 你可以假设
nums
中的所有元素是不重复的。n
将在[1, 10000]
之间。nums
的每个元素都将在[-9999, 9999]
之间。
题解一:
target 属于闭区间 [left,right]:
class Solution {public int search(int[] nums, int target) {int r = nums.length - 1;int l = 0;while(l <= r){int m = (r+l)/2;if(nums[m] > target){r = m - 1;}if(nums[m] < target){l = m + 1;}if(nums[m] == target){return m;}}return -1;}
}
运行详情:
题解二:
target属于区间 [left,right):
>>其实就是÷2,但是比/2更快!
class Solution {public int search(int[] nums, int target) {int r = nums.length; // [l,r),nums.length取不上int l = 0;while(l < r){//防止溢出//int m = (r+l)/2; int m = l +((r-l) / 2);int m = l +((r-l) >> 1);if(nums[m] > target){r = m; }if(nums[m] < target){l = m + 1;}if(nums[m] == target){return m;}}return -1;}
}
运行详情:
其他:
二分法:边界条件要想好,m的定义也要好好考虑
>> 右移
>> 左移
力扣 704.二分查找相关推荐
- 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
704. 二分查找 题目链接:704. 二分查找 - 力扣(LeetCode) 第一天代码跑题了,做出来了但是没有使用二分法,看了讲解,对于左闭右闭和左闭右开还需要多思考,并没有完全理解.那就先总结一 ...
- 第一天| 704. 二分查找、27. 移除元素。
第一天| 704. 二分查找.27. 移除元素. 704.二分查找 1. 题目描述 题目链接:力扣704题 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函 ...
- JS刷题第一天| 704. 二分查找、27. 移除元素
704. 二分查找 题目链接:力扣 文章讲解:代码随想录 视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 看 ...
- 【代码随想录算法练习】| DAY01 | JavaScript | 数组理论基础,704. 二分查找,27. 移除元素
详细解析:请看Carl老师的讲解 数组基础理论 下标从 0 开始 内存空间地址是连续的 增删元素时,会涉及其他元素地址的变动 704. 二分查找 | 点击查看力扣对应题目 二分法,也叫折半查找法,这里 ...
- 【Day1】数组、704二分查找、27移除元素
[Day1]数组.704二分查找.27移除元素 数组 704 二分查找 版本一 左闭右闭 即[left, right] 版本二 左闭右开 即[left, right) 27 移除元素 暴力解法 双指针 ...
- LeetCode-数组-704. 二分查找
描述 704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1. 示 ...
- LeetCode Algorithm 704. 二分查找
704. 二分查找 Ideas 这题想考察二分查找的来着. 对不起,真的对不起,作为Python爱好者,实在没忍住,就一行代码解决了. Code Python from typing import L ...
- 代码随想录01 | 704二分查找和27移除元素
目录 一 .二分查找 1 二分查找 2 搜索插入位置 3 在排序数组中查找元素的第一个和最后一个位置 二.移除元素 一 .二分查找 1 二分查找 704 二分查找https://leetcode.c ...
- 代码随想录算法训练营第一天 704 二分查找、27 移除元素
代码随想录算法Day1 | 704. 二分查找.27. 移除元素 Last edited time: April 5, 2023 11:27 AM 数据理论基础 数组是存放在连续内存空间上的相同类型数 ...
最新文章
- multinormalNB多项式朴素贝叶斯原理及代码
- js中的数组对象排序(方法sort()详细介绍)
- PAT (Basic Level) Practice (中文)C++ python 语言实现 —— 题解目录
- jvm垃圾回收参数配置
- jquery $.get()、$.ajax()与后台servlet交互方法
- 那些年我们踩过的一些坑之 ClickHouse
- 【学术人生】牛人写SCI常用经典词和常用句型
- String与Integer相互转换
- 为什么有人月薪5000,还要选它:逆袭都发生在这儿
- Form表单只提交field的值,而不进行页面跳转
- ISAPI_Rewrite
- 微信小程序-微信支付
- 常用U盘量产工具下载
- Flutter 清除应用缓存
- FTP协议是一种用于什么的协议
- Android百度地图之定位图层
- RNA-seq流程学习笔记(4)-使用FastQC软件对fastq格式的数据进行质量控制
- 图片编辑软件_pinta在Linux下安装
- 我读Saliency Filters cvpr 2012
- 软考高级之系统架构设计师系列【2】考试说明及考点分析
热门文章
- 抖音硬控控机房网络还可以这样搭建(抖音硬控控系统机房搭建)
- 2023轻薄投影仪首选:极米Z6X Pro入手超值!
- 已知x,h求y(信号处理)
- java webservice用户名密码_WebService 用户名密码验证
- [WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]
- 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
- webGIS学习(二)探究本质,WebGIS前端地图显示之地图比例尺换算原理 发布于 3 年前 作者 lzxue 7473 次浏览 来自 技术 1.没有豆浆机怎么办? 喝豆浆是我们早晨中基本
- 【EndNote】-详细步骤-导入网页/电子文献及外网(IEEE)文献
- 时隔14年《头文字D》演员重聚,周杰伦余文乐刘畊宏昆凌同框,唯独少了陈冠希
- 疫情可视化part1