Search in Rotated Sorted Array II
来源:互联网 发布:图书数据哪个网站多 编辑:程序博客网 时间:2024/06/08 06:15
题目大意
还是跟上一题差不多,只是这一次数组里的元素可以重复。返回是否存在这个值。
思路
如果 nums[mid] >= nums[l], 那么 [l, mid] 为递增序列的假设就不能成立了。所以把这个条件拆成两个。
nums[l] < nums[mid]的话 [l, mid]是一定会递增的
nums[l] == nums[mid] 无法判断,令l++
其他条件同上一题
CODE
class Solution {public: bool search(vector<int>& nums, int target) { int l = 0, r = nums.size(); while (l != r) { const int mid = (l + r) >> 1; if (target == nums[mid]) return true; if (nums[l] < nums[mid]) { if (nums[l] <= target && target < nums[mid]) { r = mid; continue; } l = mid + 1; continue; } if (nums[l] > nums[mid]) { if (nums[mid] < target && target <= nums[r - 1]) { l = mid + 1; continue; } r = mid; continue; } l++; } return false; }};
参考资料
LeetCode 题解
灵魂机器 (soulmachine@gmail.com) https://github.com/soulmachine/leetcode
0 0
- LeetCode: Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array II
- LeetCode : Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- [Leetcode] Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- [LeetCode]Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- LeetCode-Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II
- LeetCode - Search in Rotated Sorted Array II
- 【Leetcode】Search in Rotated Sorted Array II
- 文章19:Nginx中为http请求或响应添加头部字段
- 从优化到再优化,最长公共子串
- Minimum insertions to form a palindrome
- githubslidingmenu
- 课堂笔记08
- Search in Rotated Sorted Array II
- MySQL Index详解
- Linux系统内核性能调优
- Android 编程权威指南 阅读笔记
- C#高级编程六十四天----并行扩展
- QT快捷键
- UVA - 10344 - 23 out of 5 (暴力)
- 解决:type="password" type="text"用户名和密码输入框大小不一样 本篇文章来源于 电脑知识网(www.diannaozs.com) 原文出处:http://www.diann
- android XMPP即时通讯客户端