循环有序数组查找
来源:互联网 发布:网络上贷款需要些什么 编辑:程序博客网 时间:2024/03/29 10:10
循环有序数组:形如{7,8,9,0,1,2,3,4,5,6}的数组。
如何快速的查找某一个元素是否在数组中呢?
追求比遍历更快的方法。。。
类似二分查找的方法:
//n:array length,若存在目标元素,返回目标在数组的位置int search(int A[], int n, int target){ if(n<=0) return -1; int left = 0, right = n-1; while(left<=right) { int mid = left + ((right-left)/2); if(A[mid] == target) return mid; if(A[left] <= A[mid])//转折点在右半边,左半边是有序递增的,所以在左边采用普通的二分查找 { if(A[left] <= target && target < A[mid])//目标元素在左边,将右边缩减到中间 right = mid - 1; else//目标在右边,将左边缩减到中间 left = mid + 1; } else //转折点在左半边,类似上面的注释。 { if(A[mid] < target && target <= A[right]) left = mid + 1; else right = mid - 1; } } return -1;//不存在这个元素,返回-1}
1 0
- 循环有序数组查找
- 循环有序数组查找问题
- 循环有序数组的查找
- 循环有序数组查找值
- 有序 循环数组的二分查找
- 循环有序数组查找一个数
- 循环有序数组的查找笔记
- 查找循环有序数组的元素
- 循环有序数组中查找指定值
- 有序(循环)数组查找元素-二分查找法
- 二分数组的扩展:二分查找循环有序数组
- 循环有序数组/旋转数组的二分查找
- 二分查找进阶——循环有序数组查找再进阶——循环有序重复数组查找
- 在一个循环有序的数组里查找特定值
- 【百度面试题】循环有序数组的查找问题
- 【百度面试题】循环有序数组的查找问题
- 【百度面试题】循环有序数组的查找问题
- 有序循环数组查找(无重复、有重复)
- Unity 5.x中的AssetBundle(二)
- JAVA核心解析:JDK和JRE
- 破解vysor为专业版
- JAVA实现对多个文件压缩为zip格式的下载
- [C++] 基础知识之1、C++和C的区别
- 循环有序数组查找
- date命令
- (c++)输入10个数字,然后逆序输出。
- Android studio隐藏app应用图标
- 关于jdbc连接oracle的一些坑
- Deques
- word2vec 入门基础(一)
- JAXB工具实现java实体类和xml之间的转换
- Coin2.0万能卡将上线 取代你钱包中的所有银行卡