08_MinNumberInRotateArrary
2024-06-01 10:20:09
这道题是从leetcode上面引用过来的,
153. Find Minimum in Rotated Sorted Array
代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
class Solution
{
public:int findMin(vector<int> &num) {int left = 0, right = num.size() - 1;if (num[left] > num[right]){while (left != (right - 1)) {int mid = (left + right) / 2;if (num[left] < num[mid]) left = mid;//因为最小数一定在右侧部分数组的左侧。因为两个部分的数组的长度是位置的,所以不知道临界点//所以这个if就是用来判断临界点的,如果这里if判断成立,那么说明num[mid]和num[left]属于同一个数组,且该数组中必定不存在最小数,所以有left=mid//缩小范围的依据是整个数组的最小数一定存在于缩小后的数组中。else right = mid;}return min(num[left], num[right]);}return num[0];}
};int main()
{Solution s;vector<int>num = {7,8,9,1,2,3,4,5,6};int result = s.findMin(num);cout << "result=" << result << endl;cin.get();cin.get();
}
图解:
08_MinNumberInRotateArrary相关推荐
最新文章
- 成绩统计自动计算表格_电气计算太慢?62套自动计算EXCEL表格,一键下载秒出结果...
- python读取.edf文件
- Ubuntu install of ROS Melodic
- boost::math模块使用根查找的示例
- 【转】消息队列应用场景
- Leetcode--198. 打家劫舍
- 2021 河南 高考成绩查询,2021河南高考成绩查询入口
- 字符串匹配(二)——逆向思维 BMH
- 嵌入式开发之路,从51单片机开始
- 迅雷BT下载电影99.9%不动原地循环解决方案
- 1996.游戏中的弱角色的数量
- 输入网址到出现页面的过程
- 获取正在运行的termviewer id和密码
- 大数据学习入门看什么书?大数据新手怎么入门?
- Matlab读取显示图像顺序
- 学会宽容您的世界会很美丽
- ArcGIS Engine 10.5下构建Java程序—轻松入门
- 去掉mysql u0000_js对于\u0000的处理
- UiPath模拟浏览器登录qq邮箱并发送邮件方法与遇到的坑
- linux项目管理软件排名,好用的项目管理软件大排名
热门文章
- 终于理解了函数式技术
- 《Effective C#》读书笔记——条目10:使用可选参数减少方法重载的数量C#语言习惯...
- 图书馆可以借到的书目
- ES6新功能-模板字符串
- 为什么要用nodejs做中间层
- ClickHouse分布式集群部署
- 项目启动,数据库连接错误:SQLNonTransientConnectionException: Could not create connection to database server
- 【转】c++ http下载文件
- Unity 2018.3地形功能更新介绍
- node.js中对Event Loop事件循环的理解