Maximum Number in Mountain Sequence
public class Solution {
/**
* @param nums a mountain sequence which increase firstly and then decrease
* @return then mountain top
*/
public int mountainSequence(int[] nums) {
// Write your code here
int l = 0, r = nums.length - 1;
int mid = (l + r) / 2;
int lst = -1;
while(l < r){
if(nums[mid] < nums[mid + 1])
l = mid;
else r = mid;
mid = (l + r) / 2;
if(mid == lst){
break;
}
lst = mid;
}
if(nums[l] > nums[r]){
return nums[l];
}
else{
return nums[r];
}
}
}

最后更新于
这有帮助吗?