153.154. Find Minimum in Rotated Sorted Array
来源:互联网 发布:淘宝能买什么 编辑:程序博客网 时间:2024/05/16 01:56
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4 5 6 7 0 1 2
).
Find the minimum element.
You may assume no duplicate exists in the array.
分析:二分法,首先将left和right进行比较,然后将left和mid相比较,确定递增序列,然后更改left或right的值。
public class Solution { public int findMin(int[] nums) { if(nums==null) return 0; int n=nums.length; int left=0,right=n-1; int mid; while(left<right){ mid=left+(right-left)/2; if(nums[left]<=nums[right]) return nums[left]; else if(nums[left]>nums[right]&&nums[mid]<nums[right]){ right=mid; }else if(nums[left]>nums[right]&&nums[left]<=nums[mid]){ left=mid+1; } } return nums[left]; }}
154. Find Minimum in Rotated Sorted Array II
数组中可能存在重复的数字,此时有一种情况,无法判断左边和右边哪一边是递增的,即中间的等于左边的和右边的时候,此时只能将left+1,right-1.
public class Solution { public int findMin(int[] nums) { if(nums==null) return 0; int n=nums.length; int left=0,right=n-1; int mid; while(left<right){ mid=left+(right-left)/2; if(nums[left]<nums[right]) return nums[left]; else if(nums[left]==nums[right]&&nums[left]==nums[mid]){ left++; right--; } else if(nums[left]>=nums[right]&&nums[mid]>=nums[left]) left=mid+1; else if(nums[left]>=nums[right]&&nums[mid]<=nums[right]) right=mid; } return nums[left]; }}
0 0
- 153.154. 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
- 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
- LeetCode:Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array II
- 【Leetcode】Find Minimum in Rotated Sorted Array
- 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
- Android 支付宝支付、微信支付、银联支付 整合第三方支付接入方法
- oracle 体系结构
- 博彩统计学
- Hive中的复杂数据类型
- Faster rcnn test浮点运算次数(卷积实现过程,Faster rcnn总体结构和参数)
- 153.154. Find Minimum in Rotated Sorted Array
- shell判断和比较
- SpeedTree LOD的设置
- jquery实现可切换主题的注册表单特效
- php-fpm.conf 参数详解
- Centos6.5 64位系统安装zabbix
- 深入浅出MagicalRecord(4)
- 详解7.0带来的新工具类:DiffUtil
- 从一行CSS调试代码中学到的JavaScript知识