博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode -- Search in Rotated Sorted Array II
阅读量:6395 次
发布时间:2019-06-23

本文共 1364 字,大约阅读时间需要 4 分钟。

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.

上题中A[l] <= A[m]在数组中有重复元素时无法保证[l,m]是sorted

当输入:[1,3,1,1,1], 3

这里参考:

分为两种情形:

1. A[l] < A[m] 则[l, m]是递增的

2. A[l] = A[m] 此时是重复元素,无法确认哪一部分是有序的,则跳过l,l++

1 public class Solution { 2     public boolean search(int[] A, int target) { 3         // Start typing your Java solution below 4         // DO NOT write main() function 5         int len = A.length; 6          7         // binary search 8         int l = 0; 9         int r = len - 1;10         while(l <= r){11             int m = (l + r) / 2;12             if(target == A[m])13                 return true;14             15             // lower is sorted16             if(A[l] < A[m]){17                 if(A[l] <= target && target < A[m])18                     r = m - 1;19                 else{20                     l = m + 1;21                 }22             } else if(A[l] > A[m]) {23                 // upper is sorted24                 if(A[m] < target && target <= A[r]){25                     l = m + 1;26                 } else{27                     r = m - 1;28                 }29             } else {30                 l = l + 1;31             }32         }33         return false;34     }35 }

 

ref:

转载地址:http://bheha.baihongyu.com/

你可能感兴趣的文章
mvvm框架下页面与ViewModel的各种参数传递方式
查看>>
FocusBI: 微软商业智能教程目录介绍(原创)
查看>>
vi命令——修改文件内容
查看>>
将英文字符后输入的点变成宋体格式的大点
查看>>
List<t>中如何将指定元素的值放到第一位
查看>>
activit流程引擎启动流程报错
查看>>
saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入
查看>>
如何访问其它类的私有成员变量,以及如何在CONST函数中修改成员变量
查看>>
UVAlive3708 UVA1388 POJ3154 Graveyard【水题】
查看>>
Hacker(14)----扫描目标计算机端口
查看>>
ECMAScript6 Promise
查看>>
系统丢包net.netfilter.nf_conntrack_max 超限查看
查看>>
一篇文章Tornado快速入门
查看>>
php_curl.dll libssh2.dll 始终无法加载的原因 及解决办法
查看>>
f5 Seldom used
查看>>
IE 8兼容:<meta http-equiv="X-UA-Compatible" content="IE=edge" /> X-UA-Compatible的解释
查看>>
使用自定义字体 @font-face 小试
查看>>
hdu 5312 Sequence(三角形数)
查看>>
6. 一个简单可用的“汉堡包”应用
查看>>
Folder and jar
查看>>