leetcode_81——Search in Rotated Sorted Array II(二分查找)
2015-07-03 10:09
633 查看
Search in Rotated Sorted Array II
Total Accepted: 38274 Total Submissions: 121824My SubmissionsQuestion Solution
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.
Hide Tags
Array Binary Search
Have you met this question in a real interview?
Yes
No
Discuss
#include<iostream> #include<vector> using namespace std; #define TRUE 1 #define FALSE 0 //标准的二分查找 bool searched(vector<int>& nums,int target,int i,int j) { int k; while(1) { if(nums[i]==nums[j]) { if(nums[i]==target) return TRUE; else return FALSE; } if(i+1==j) { if(target==nums[i]||target==nums[j]) return TRUE; else return FALSE; } if(i==j) { if(target==nums[i]) return TRUE; else return FALSE; } k=(i+j)/2; if(target==nums[k]) return TRUE; if(target>nums[k]) i=k; else j=k; } } // bool search(vector<int>& nums, int target) { int i=0; int j=nums.size()-1; int k; while(1) { if(i+1==j) { if(target==nums[i]||target==nums[j]) return TRUE; else return FALSE; } if(i==j) { if(target==nums[i]) return TRUE; else return FALSE; } k=(i+j)/2; if(nums[i]<nums[k]) { bool bo=searched(nums,target,i,k); if(bo==TRUE) return TRUE; i=k; } else { for(int a=i;a<=j;a++) if(nums[a]==target) return TRUE; return FALSE; } } } int main() { vector<int> vec; }
相关文章推荐
- HTML5游戏设计与开发 小白7-9月的动态
- jQuery中 delegate使用的问题
- Centos6单服务器安装配置FastDFS
- Qt中int转换成QString
- SQL查询表中所有字段属性,字段长度,备注信息
- 矩阵乘法&&快速幂
- Service vs provider vs factory 转自:http://stackoverflow.com/questions/15666048/service-vs-provider-vs-factory
- MySql表、字段、库的字符集修改及查看方法
- iOS之贝塞尔曲线
- Ubuntu下安装JDK图文解析
- redhat 6 配置 yum 源的两种方法
- maven 简介
- Linux监控程序-----程序自动重启方法
- Qt控件截图
- MySQL按照汉字的拼音排序、按照首字母分类
- C#实现TCP连接信息统计的方法
- 详解JavaScript模块化开发
- 处理大并发之五 使用libevent利器bufferevent(bufferevent_enable)
- uc/os-ii互斥型信号量
- Android入门(2)——点击事件的三种方式监听方式