LeetCode | Search in Rotated Sorted Array II
2013-12-15 19:01
393 查看
题目:
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.
思路:
类似/article/1382554.html。但是遇到两个相等的数时要特殊考虑,最坏情况下,左侧和右侧的数组都需要遍历。
代码:
class Solution { public: bool search(int A[], int n, int target) { return searchInternal(A, 0, n-1, target); } bool searchInternal(int A[], int begin, int end, int target){ if(begin + 1 == end || begin == end){ return A[begin] == target || A[end] == target; } int middle = begin + (end - begin) / 2; if(A[begin] < A[middle]){ if(A[begin] <= target && target <= A[middle]){ return searchInternal(A, begin, middle, target); } else{ return searchInternal(A, middle, end, target); } } else if(A[middle] < A[end]){ if(A[middle] <= target && target <= A[end]){ return searchInternal(A, middle, end, target); } else{ return searchInternal(A, begin, middle, target); } } else{ return searchInternal(A, begin, middle, target) || searchInternal(A, middle, end, target); } } };
相关文章推荐
- 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql
- jQuery EasyUI
- 第一篇记录:冒泡排序
- C++学习方法
- unity地形Terrain浅谈
- 谈谈扩充式扩展与增量式扩展
- JQuery知识快览之五—操作属性和结构
- 再谈我是怎么招聘程序员的
- java 获取非堆内存使用量
- 在Lu脚本中绘制分裂视图
- 成为Java高手的25个学习目标
- 在Lu脚本中用Plot绘制普通XY图
- 无缝世界网游服务器架构的设计思路(续)
- 戒除浮躁,重新上路,脚踏实地——致我的嵌入式新征程
- K-means算法
- VC6.0 Dialog 如何添加 WM_ERASEBACKGROUND 消息
- xdebug
- 在Lu脚本中绘制普通XY图(折线图)
- 对Java语言入门初学者的一些建议
- 简单linux网络驱动程序