LeetCode 33. Search in Rotated Sorted Array
来源:互联网 发布:mac 翻墙付费软件 编辑:程序博客网 时间:2024/05/22 13:30
Suppose an array sorted in ascending order 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
).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
Subscribe to see which companies asked this question.
这题很简单,把所有情况考虑清楚即可。
public class Solution { public int search(int[] nums, int target) { if(nums.length==0){ return -1; } if(nums[0]==target){ return 0; } return help(nums,0,nums.length-1,target); } public int help(int[]nums,int beg,int end,int target){ if(beg>=end){ return nums[beg]==target?beg:-1; } int mid = (beg+end)/2; if(target>nums[beg]&&target<nums[mid]&&nums[beg]<nums[mid]){ return help(nums,beg,mid,target); } else if(target<nums[beg]&&target<nums[mid]&&nums[beg]<nums[mid]){ return help(nums,mid,end,target); } else if(target>nums[beg]&&target>nums[mid]&&nums[beg]>nums[mid]){ return help(nums,beg,mid,target); } else if(target<nums[beg]&&target>nums[mid]&&nums[beg]>nums[mid]){ return help(nums,mid,end,target); } else if(target>nums[beg]&&target>nums[mid]&&nums[beg]<nums[mid]){ return help(nums,mid,end,target); } else if(target<nums[beg]&&target<nums[mid]&&nums[beg]>nums[mid]){ return help(nums,beg,mid,target); } else{ if(target==nums[beg]){ return beg; } if(target==nums[end]){ return end; } return target==nums[mid]?mid:-1; } }}
阅读全文
0 0
- [LeetCode]33.Search in Rotated Sorted Array
- LeetCode --- 33. Search in Rotated Sorted Array
- LeetCode 33.Search in Rotated Sorted Array
- [Leetcode] 33. Search in Rotated Sorted Array
- Leetcode-33.Search in Rotated Sorted Array.
- [leetcode] 33. Search in Rotated Sorted Array
- Leetcode 33. Search in Rotated Sorted Array
- [LeetCode]33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- LeetCode *** 33. Search in Rotated Sorted Array
- LeetCode - 33. Search in Rotated Sorted Array
- LeetCode 33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- leetcode 33.Search in Rotated Sorted Array
- [leetcode]33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- leetcode 33. Search in Rotated Sorted Array
- LeetCode-33.Search in Rotated Sorted Array
- Unable to create Debug Bridge: Unable to start adb server: error:
- 使用java调用kettle 总结(二)
- 优先队列的使用
- 关于云计算架构设计的几点注意事项
- AndroidUI之底部导航栏的四种实现
- LeetCode 33. Search in Rotated Sorted Array
- 最短路径问题算法
- iScroll下拉刷新上拉加载(简洁易懂版本)
- Linux笔记
- 马凯-linux
- rabbitmq介绍及rabbitmq在java中基础使用
- 马凯-运维
- 推挽输出,开漏输出
- 马凯-节能