Find Minimum in Rotated Sorted Array系列解题报告
来源:互联网 发布:算法导论第四章答案 编辑:程序博客网 时间:2024/06/08 02:32
Find Minimum in Rotated Sorted Array1
题目描述见链接:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/
代码如下:
class Solution {public: int findMin(vector<int>& nums) { if(nums.size()==0) return 0; int start=0; int end=nums.size()-1; while(start<end){ int mid=start+(end-start)/2; if(nums[mid]<nums[end]) end=mid; else start=mid+1; } return nums[start]; }};这道题主要在于判断右半数组是否有序。可以判断有四种情况:
mid>start,mid>end:焦点无法判断
mid<start,mid<end:可以判断右半部分数组肯定是递增的,因为如果右半部分数组有最小值,那么左边肯定是递增的,所以mid<start矛盾;
mid>start,mid<end:同上;
mid<start,mid>end:无法判断
从上面的分析可以看出来,只有mid<end这一情况是可以明确判断最小值不在右半部分数组的,但是最小值是否是mid无法确定所以end=mid.
Find Minimum in Rotated Sorted Array II
题目描述见链接:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/
class Solution {public: int findMin(vector<int>& nums) { if(nums.size()==0) return 0; int start=0; int end=nums.size()-1; while(start<end){ int mid=start+(end-start)/2; if(nums[mid]<nums[end]) end=mid; else if(nums[mid]>nums[end]) start=mid+1;//因为mid已经大于end所以排除mid是最小的可能 else end--; } return nums[start]; }};这个只需要加入mid=end的判断,因为end=mid的时候无法判断最小值是在最左还是最右但是可以排除end,所以end--就可以了。
0 0
- Find Minimum in Rotated Sorted Array系列解题报告
- 【LeetCode】Find Minimum in Rotated Sorted Array 解题报告
- LeetCode Find Minimum in Rotated Sorted Array 解题报告
- [LeetCode]Find Minimum in Rotated Sorted Array,解题报告
- [leetcode] 153. Find Minimum in Rotated Sorted Array 解题报告
- Find Minimum in Rotated Sorted Array 解题报告
- Find Minimum in Rotated Sorted Array 解题报告
- [leetcode] 154. Find Minimum in Rotated Sorted Array II 解题报告
- [Leetcode] 154. Find Minimum in Rotated Sorted Array II 解题报告
- [leetcode]153. Find Minimum in Rotated Sorted Array@Java解题报告
- [leetcode]154. Find Minimum in Rotated Sorted Array II@Java解题报告
- leetcode解题方案--153--Find Minimum in Rotated Sorted Array
- LeetCode Find Minimum in Rotated Sorted Array系列
- 算法系列——Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- [LeetCode] Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Python selenium —— 父子、兄弟、相邻节点定位方式详解
- 求 1!+2!+3!....+n! 的 C++递归与非递归实现
- cin.ignore()函数的用法
- uclinux很久前笔记1
- Search a 2D Matrix II
- Find Minimum in Rotated Sorted Array系列解题报告
- Flume NG 基本架构及原理
- CSS3 transition属性和Hover效果
- 网易2017校园招聘笔试题 买苹果
- 顺序表应用5:有序顺序表归并
- 二分法,互动(猜长方形,cf 713B)
- LibGdx文档译读(十二) InputEventQueue类
- 【opencv练习37 - 多边形阴影绘制】
- BZOJ1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压DP