Search in Rotated Sorted Array:在有转折的升序数列中搜索
来源:互联网 发布:支付宝能取消淘宝账号 编辑:程序博客网 时间:2024/06/05 17:02
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.
注意边界的判断,比如[1,3] target = 3,[1,2],target = 0,[1] target = 1这种。
class Solution { public int search(int[] nums, int target) { if(nums.length==0) return -1; int s = 0; int e = nums.length-1; int m; while(s<=e){ m = (s+e)/2; System.out.println("nums[m]="+nums[m]+";m="+m); if(nums[m]==target) { return m; } //System.out.println("m="+m+";s="+s+";e="+e); if(nums[s]<=nums[m]){//s到m之间正常有序,如果target在此区间内,正常二分,等号的目的是考虑[3,1]target=1的情况 if(nums[m]>target&&target>=nums[s]){ e = m-1; }else{ s = m+1; } }else{//m到e之间正常有序,如果target在此区间内,正常二分 if(nums[e]>=target&&target>nums[m]){ s = m+1; }else{ e = m-1; } } } return -1; }}注意,这几个边界条件我是硬试出来的
。。。晕了
阅读全文
0 0
- Search in Rotated Sorted Array:在有转折的升序数列中搜索
- Search in Rotated Sorted Array II:带重复与转折的升序数列搜索
- Find Minimum in Rotated Sorted Array II:带重复的数组中找到升序数列的转折点
- LeetCode 33 Search in Rotated Sorted Array(在旋转排序数组中搜索)(*)
- Search in Rotated Sorted Array II 旋转的数组中查找,有重复元素
- LeetCode Search in Rotated Sorted Array 在旋转了的数组中查找
- Search in Rotated Sorted Array 在旋转的数组中查找元素
- 【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
- 【LeetCode-面试算法经典-Java实现】【033-Search in Rotated Sorted Array(在旋转数组中搜索)】
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array
- 远程桌面端口修改.bat
- mybatis—foreach标签使用小记
- SPOJ-227 ORDERS
- 安全测试——中间件漏洞
- iOS无埋点数据统计实验
- Search in Rotated Sorted Array:在有转折的升序数列中搜索
- Java 微信开发(四)生成带参数二维码及分享到朋友圈、好友、QQ
- linux pycharm安装(Python环境搭建)
- centos phpMyAdmin登陆不进去 有些浏览器报错
- audio术语缩写(不断更新中...)
- 错误:HttpServlet was not found on the Java
- Ruby学习笔记(07)_块
- DBCP与C3P0连接池
- 马云:阿里巴巴必须成为国家和世界创新的发动机