Leetcode 题目解析之 Search in Rotated Sorted Array II
【摘要】 Leetcode 题目解析之 Search in Rotated Sorted Array II
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.
public boolean search(int[] nums, int target) {
int l = 0, r = nums.length - 1;
while (l <= r) {
int m = (l + r) / 2;
if (nums[m] == target)
return true;
if (nums[l] < nums[m]) {
if (target <= nums[m] && target >= nums[l])
r = m - 1;
else
l = m + 1;
} else if (nums[l] > nums[m]) {
if (target >= nums[l] || target <= nums[m])
r = m - 1;
else
l = m + 1;
} else
l++;
}
return false;
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)