数组分段查找
来源:互联网 发布:烯牛数据 编辑:程序博客网 时间:2024/06/06 03:06
一个分段有序的数组a[n],判断x是否属于a[n].(分成两段)
这个分段有序的数组是由一个有序数组变化而来的,变化规则是:随机在有序数组中找一个索引i,将a[0]-a[i]移动到a[n]后面。
要求时间复杂度尽可能低
这个分段有序的数组是由一个有序数组变化而来的,变化规则是:随机在有序数组中找一个索引i,将a[0]-a[i]移动到a[n]后面。
也就是将有序数组A[n],形式为:a[0]...a[i],a[i+1]...a[n] 变成分段有序数组B[n],形式为:a[i+1]...a[n],a[0]...a[i] 。
public static boolean getB(int[] a,int x){ if(null ==a|| a.length ==0){ return false; } int to = a.length-1; int from =0; int mid = (to+from)/2; while (from <= to && from < a.length && to < a.length && from >=0) { mid = (to+from)/2; if(a[mid] == x){ return true; }else if(a[mid] > x ){ if( (mid-1) >=0 && a[mid] < a[mid-1]){ return false; } to =mid-1; }else if(a[mid] < x){ if( (mid+1) < a.length-1 && a[mid] > a[mid+1]){ return false; } if(x ==a[to]){ return true; }else if (x > a[to]){ to = mid -1; }else { from = mid+1; } } } return false;}
要求时间复杂度尽可能低
0 0
- 数组分段查找
- Java 启动NewFixedThreadPool分段查找数组内最大值
- 【算法题】数组分段
- 《大话数据结构》之分段查找
- 51nod 1285 山峰和分段 -查找
- 数组查找
- 数组查找
- 数组查找
- 数组查找
- 20151207 复习(sed 查找替换and awk查找替换分段)
- 数组分段和最大值最小问题
- 数组分段和最大值最小问题
- 数组分段和最大值最小问题
- 分段
- 分段
- 分段
- 日志分析工具(二分法分段查找处理)
- 二维数组中的查找(数组 查找)
- android短信监听
- cocos2dx编译出错_最简单解决方法
- Ubuntu不同目录下profile与bashrc的区别
- 自适应权值立体匹配-Adaptive support-weight Approach for Correspondence search
- MySql远程不能登录问题解决办法
- 数组分段查找
- Java笔试题分类总结--String
- red5使用教程
- ORACLE 创建序列
- C++之运算符重载
- Linux下DIR,dirent,stat 结构体
- 面试问题,将字符串、字符串单词倒叙输出
- cocos2d-Lua08常用SocostudioUI组件及编辑器
- 第一个程序(C#)_使用Visual Studio