在循环数组中查找某个数K
来源:互联网 发布:ipad如何看淘宝直播 编辑:程序博客网 时间:2024/06/16 09:52
一 循环数组
例如 4 5 6 7 8 9 1 2 3, 循环有序
二 类似于二分查找的思想,首先定位到中间,然后判断左右两个区间,哪个是有序的(一定有一个是有序的),然后判断k是不是在这个有序区间来判断下一步在哪个区间去查找
#include <string.h>#include <stdio.h>//在循环数组中寻找kint main(){ int a[9] = {1,2,3,4,5,6,9,90,100}; int n = 9; int l = 0; int h = n-1; int mid; int k = 6; while (l <= h) { mid = (l+h)/2; printf("%d %d %d\n", l, h, mid); if (a[mid] == k) break; if (a[l] < a[mid]) { if (k < a[mid] && a[l] <= k) h = mid-1; else l = mid+1; } else { if (k >= a[mid+1] && k <= a[h]) l = mid+1; else h = mid-1; } } printf("%d\n", mid); return 0;}
- 在循环数组中查找某个数K
- 在旋转数组中查找某个数
- 循环递增数组中查找是否存在某个数
- 在循环升序数组中查找一个数
- leetcode 在有序矩阵中查找某个数,第k小数 (二分法)
- 查找某个数是否在矩阵中
- 循环数组中查找一个数
- 第十四题:在一个排序数组中查找一对数,使得其和等于某个值
- [百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数。
- 查找某个数是否在二维数组中(剑指offer第一题)
- 数组A中任意两个相邻元素大小相差1,在其中查找某个数。
- 二维数组中查找某个数是否存在
- 查找有序数组中某个数首次出现的位置
- Java 查找二维数组中是否含有某个数
- 在无重复数字的循环数组中查找给定数返回其下标
- 查找数组中第K大的数
- 查找一个数组中第k小的数
- 在二维数组中查找数
- 将一个字符串中的大写字母放到小写字母的后面,而且移动后相对顺序不改变
- 修改mtu值
- MSP430单片机中MAB和MDB指的是什么?
- 训练需要用到的东西
- 单链表基本操作(二)
- 在循环数组中查找某个数K
- bit-map算法在linux内核中的应用
- ASP.NET MVC 请求生命周期
- MSP430的内存分配到底有多重要?
- Cookie & Session
- LeetCode: Merge Two Sorted Lists
- Android平台上使用属性系统(property system)
- hdu 1671 Phone list
- Android学习7——RatingBar