[leedcode 81] Search in Rotated Sorted Array II
2015-07-15 11:34
417 查看
Follow up for "Search in Rotated Sorted Array":
What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given target is in the array.
What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given target is in the array.
public class Solution { public boolean search(int[] nums, int target) { //注意利用本题的规律进行判断: //nums[0]是重点,它是前半段的最小值,后半段的最大值,因此mid需要与它判断大小,进而区分mid落在哪个范围 //中值和start判断,如果大于start,说明start到mid是递增序列,只要判断target是否在这区间即可 //如果小于start,说明mid到end是递增序列,只要判断target是否在这个区间即可 //如果中值等于start(暗含nums[start]不等于target),因此此时start++; return findSearch(nums,0,nums.length-1,target); } public boolean findSearch(int[] nums,int start,int end,int target){ if(start>end){ return false; } int mid=(start+end)/2; if(nums[mid]==target) return true; if(nums[mid]>nums[start]){ if(target<nums[mid]&&target>=nums[start]){ end=mid-1; }else{ start=mid+1; } }else if(nums[mid]<nums[start]){ if(target>nums[mid]&&target<=nums[end]){ start=mid+1; }else{ end=mid-1; } }else start++;//////// return findSearch(nums,start,end,target); } }
相关文章推荐
- *House Robber II
- LVM实验:LVM动手操作
- Javascript显示和隐藏ul列表的方法
- Log4j本地试验成功
- u-boot启动画面制作
- maven常用命令说明
- poj2395解题报告
- ARM版本及系列
- Spring-MVC并发访问的线程安全性问题
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手
- 如何编写更省电的Android应用
- 从宏观到微观——天机与鹰眼联手
- 基于Handlebars的最新版本实现Handlebars的预编译
- Microsoft.AlphaImageLoader滤镜讲--透明处理<转>
- B - Dungeon Master
- 【AngularJS】【02】AngularJS应用骨架
- Filezilla使用教程
- ArcGIS教程:了解多元分类
- kvm虚拟化之virt-install
- 创建元素<span></span>