当前位置:网站首页>力扣每日一题-第46天-704. 二分查找
力扣每日一题-第46天-704. 二分查找
2022-07-31 01:26:00 【重邮研究森】
2022.7.30今天你刷题了吗?
题目:
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
分析:
给定一个升序数组和整型,在这个数组中找到是否存在这个整型,存在则返回下标,不存在则返回-1。
思路:对于查找问题:第一思路就是二分查找。利用两个下标一左一右,分别从两端开始。判断中间的值是否和目标一样,根据大小关系调整下标。
当target>num,则说明目标值在num右边,则left变
当target<num,则说明目标值在num左边,则right变
解析:
1.二分法
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0, right = nums.size() - 1;
while (left <= right)
{
int mid = (right - left) / 2 + left;
int num = nums[mid];
if (target > num)
{
left = mid + 1;
}
else if (target < num)
{
right = mid - 1;
}
else
{
return mid;
}
}
return -1;
}
};
2.暴力法
直接对数组进行遍历,当遍历的元素小于target一直遍历,当出现相等则返回下标,当出现大于情况则返-1
class Solution {
public:
int search(vector<int>& nums, int target) {
int i=0;
while(i<nums.size()-1&&nums[i]<target)
{
i++;
}
if(nums[i]!=target)
{
i=-1;
}
return i;
}
};
边栏推荐
- 《实战》基于情感词典的文本情感分析与LDA主题分析
- RTL8720DN开发笔记一 环境搭建与mqtt实例
- Shell变量与赋值、变量运算、特殊变量
- 【952. Calculate the maximum component size according to the common factor】
- 验证 XML 文档
- 1782. Count the number of point pairs Double pointer
- 小黑leetcode之旅:104. 二叉树的最大深度
- tkinter模块高级操作(二)—— 界面切换效果、立体阴影字效果及gif动图的实现
- Mysql: Invalid default value for TIMESTAMP
- Parameter introduction and selection points of wireless module
猜你喜欢
VS warning LNK4099: No solution found for PDB
4G通信模块CAT1和CAT4的区别
The Meta Metaverse Division lost 2.8 billion in the second quarter, still want to continue to bet?Metaverse development has yet to see a way out
《实战》基于情感词典的文本情感分析与LDA主题分析
解析云原生消息流系统 Apache Pulsar 能力及场景
35. Reverse linked list
The level of ShardingSphere depots in actual combat (4)
ROS Action通信
ShardingSphere之水平分库实战(四)
剑指offer17---打印从1到最大的n位数
随机推荐
TiCDC 架构和数据同步链路解析
typescript12-联合类型
MySQL高级-六索引优化
Kyushu cloud as cloud computing standardization excellent member unit
Rocky/GNU之Zabbix部署(2)
【Mysql】——索引的深度理解
聚簇索引和非聚簇索引到底有什么区别
TiDB 操作实践 -- 备份与恢复
ROS Action通信
I have been working in software testing for 3 years, how did I go from just getting started to automated testing?
ros2知识:在单个进程中布置多个节点
typescript17-函数可选参数
打印任务排序 js od华为
TiDB之rawkv升级之路v5.0.4--&gt;v6.1.0
射频器件的基本参数2
MySQL——数据库的查,增,删
Shell变量与赋值、变量运算、特殊变量
typescript9-常用基础类型
验证 XML 文档
C language _ structure pointer array function voting system