Search in Rotated Sorted Array II
来源:互联网 发布:网络歌手朋友陪你醉 编辑:程序博客网 时间:2024/06/10 19:42
描述
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.
中文:
如果允许重复元素,怎么办
分析:
重复元素的话,主要是
当nums[first]==nums[mid]时,无法判断元素的序列是否递增,也无法找到转折点如 131111111怎么找?
所以要单独分析,那就只能将first向前推进。
class Solution { public: bool search(vector<int>& nums, int target) { int first=0; int last=nums.size()-1; int mid; while(first<=last) { mid=(first+last)/2; if(nums[mid]==target) return true; if(nums[first]<nums[mid]) { if(target>=nums[first]&&target<nums[mid]) last=mid-1; else first=mid+1; } else if(nums[first]>nums[mid]) { if(target>nums[mid]&&target<=nums[last]) first=mid+1; else last=mid-1; } else first++; } return false;}};
Runtime: 8 ms
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
- 排序算法总结---树形选择排序,堆排序
- iOS学习笔记(6)UINavigationController
- 2、cd命令
- Hadoop入门系列(1) -- Hadoop简介
- 贝叶斯方法及其应用(2)
- Search in Rotated Sorted Array II
- iOS学习笔记(7)视图控制器之间传递参数的三种方式
- C++课程设计:学生成绩管理系统
- 秒杀排列组合(下)————组合篇
- 有道词典
- Android5.0L退出APP横竖屏切换导致的触摸屏输入(Touch Event)无效(冻屏)问题分析(Key Event仍然有效)
- List接口
- Android中获取软键盘状态和软键盘高度
- SVN使用教程总结