leetcode_154 Find Minimum in Rotated Sorted Array II
来源:互联网 发布:网络项目传销名单 编辑:程序博客网 时间:2024/06/03 00:07
题目分析:
在递增的旋转数组中找到最小的数(数组中可能存在重复数)。
解题思路:
两种方法实现
方法1:从后向前一遍遍历扫描实现
方法2:利用二分查找实现。
实现程序
class Solution{ public: //从后向前扫描实现 int findMin1(vector<int> &nums) { if (nums.size() == 0) // 处理特殊情况 return -1; if (nums.size() == 1) return nums[0]; int j = nums.size() - 1; int min = nums[j]; for (j = j - 1; j >= 0; j--) // 一遍遍历扫描判断 { if (nums[j] < min) { min = nums[j]; } } return min; } //二分查找实现 int findMin(vector<int> &nums) { if (nums.size() == 0) // 处理特殊情况 return -1; if (nums.size() == 1) return nums[0]; int size = nums.size() - 1; int begin = 0; int end = size; // 二分查找实现 while (begin < end && nums[begin] >= nums[end]) { int mid = (begin + end) / 2; if (nums[mid] < nums[begin]) { end = mid; } else if (nums[mid] == nums[begin]) // 调整出现数组数相等情况 { begin++; } else { begin = mid + 1; } } return nums[begin]; } };
0 0
- leetcode_154 Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II
- UVA 208 Firetruck
- hadoop生态系统学习之路(五)hbase的简单使用
- 关于HashMap的ContainsKey()
- Code resource ✵1
- 解决Attribute "rippleColor" has already been defined的问题
- leetcode_154 Find Minimum in Rotated Sorted Array II
- ZOJ 2736 Daffodil number
- 【bzoj2022】弹飞绵羊
- python疑难杂症
- Android 的 SDK Manager 无法启动 闪退解决方法
- struts2工作流程
- 区块链技术资料
- WCF分分钟入门
- mysql命名规范