33. Search in Rotated Sorted Array
来源:互联网 发布:国外户外品牌 知乎 编辑:程序博客网 时间:2024/06/03 15:11
解题思路:
1. 先找到最小值所在位置;
2. 以循环交界处(最小值前一位)为分界,分两段做二分查找
public class Solution { public int binarySearch(int[] nums, int beg, int end, int target){ if (beg == end){ if (nums[beg] == target){ return beg; }else{ return -1; } }else{ int mid = beg + (end - beg) / 2; if (nums[mid] < target){ beg = mid + 1; }else{ end = mid; } return binarySearch(nums, beg, end, target); } } public int search(int[] nums, int target) { int beg = 0, end = nums.length - 1, mid; //先寻找最小值的位置 while (beg < end){ mid = beg + (end - beg) / 2; if (nums[mid] > nums[end]) beg = mid + 1; else end = mid; } //nums_min = nums[beg],分两段二分查找 if (beg > 0){ int ret = binarySearch(nums, 0, beg - 1, target); if (ret != -1) return ret; } return binarySearch(nums, beg, nums.length - 1, target); }}
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
- 33.Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 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
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 33. Search in Rotated Sorted Array
- 毕业后的五年拉开大家差距的原因
- Web性能测试工具
- 使用HTML5实现刮刮卡效果
- vc中关闭对话框dialog
- Android生成桌面快捷方式
- 33. Search in Rotated Sorted Array
- uva 725 简单枚举
- 注解
- 【IOS】关于ipad和iPhone尺寸的分辨率
- centos 手动增加swap分区
- #406 Minimum Size Subarray Sum
- java中Map的使用方法
- 为什么要配置数据源ODBC
- 万年历