笔试之循环递增数组查找
来源:互联网 发布:电脑病毒 变更mac地址 编辑:程序博客网 时间:2024/05/16 11:27
问题:对已排好序的数组A,一般来说可用二分查找 可以很快找到。现有一特殊数组A[],它是循环递增的,如A[]={ 17 19 20 25 1 4 7 9},试在这样的数组中找一元素x,看看是否存在。
思路:同样用二分查找,每次用待查找元素x与中间元素比较,如果大于中间元素,则left=middle+1,如果小于中间元素,需比较x与左边元素的大小,如果大于左边元素,则right=middle-1,否则left=middle+1。
int findx(int *a, int len, int key){ int left, right, middle; left = 0; right = len - 1; while(left <= right) { middle = (left + right) / 2; if(key > a[middle]) { left = middle + 1; } else if(key < a[middle]) { if(key < a[left]) { left = middle + 1; } else { right = middle - 1; } } else return 1; } return 0;}
0 0
- 笔试之循环递增数组查找
- 循环递增的数组 二分查找
- 循环递增数列查找(百度笔试题)
- 小米笔试:循环排序数组二分查找
- 循环递增数组中查找是否存在某个数
- 递增数组查找
- 递增二维数组中的查找
- 二维递增数组的查找
- 整数型的有序递增数组循环右移x位后,查找指定整数 算法
- 利用二分查找在循环递增数组中检索一个元素
- 2014-04-04 循环递增数组查找元素(二分变形思想,百度面试题)
- 循环递增链表中查找元素位置
- 用二分法查找循环递增序列 | Python
- 循环有序数组查找
- 笔试编程题之查找数组的位置
- 行递增、列递增的二维数组中查找
- 行列递增序列的二维数组查找
- 递增数组元素的折半查找
- App Manifest:<application> android:largeHeap
- 2015 HNU warm up 02
- 推荐的 CSS 书写顺序--个人建议
- 2014工作总结
- (十四)单组数据展示(字典转模型、模型初始化细节)
- 笔试之循环递增数组查找
- 视图的更新
- Android签名详解(debug和release)
- Eclipse设置默认编码
- 虚拟机中文版设置说明
- MongoDB shell操作
- Linux网络协议栈之套接字缓冲区(2)
- 九度OJ 1482 清华大学2012机试 《玛雅人的秘密》
- Ubuntu 11.04 下安装配置 JDK 7