import java.io.*;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
class test
{
public static void main (String[] args) throws java.lang.Exception
{
int[] B = {6,7,8,9,1,2,3,4,5};
int[][] c = {{1, 3, 5, 7},{10, 11, 16, 20}, {23, 30, 34, 50}}; System.out.println(search_mini(B));
System.out.println(search(B,1));
System.out.println(Arrays.toString(search_2d_matrix(c,30)));
} public static int[] search_2d_matrix(int[][] matrix, int target){
int row = matrix.length, column = matrix[0].length;
int begin = 0, end = row * column ;
int[] result = {-1, -1}; while (begin + 1 < end) {
int mid = (begin + end) / 2;
int number = matrix[mid / column][mid % column];
if (number == target) {
result[0] = mid / column;
result[1] = mid % column;
return result;
} else if (number < target) {
begin = mid;
} else {
end = mid;
}
}
return result;
} public static int search_mini(int[] A){
int begin = 0, end = A.length - 1;
while (begin < end && A[begin] >= A[end]) {
int mid = (begin + end) / 2;
if (A[mid] > A[end]) {
begin = mid + 1;
} else if (A[mid] < A[begin]) {
end = mid;
} else { // A[begin] == A[mid] == A[end]
begin = begin + 1;
}
}
return A[begin];
} public static int search(int[] A, int target){
int begin = 0;
int end = A.length ;
while(begin < end){
int p = (end + begin) / 2;
if(A[p] == target) return p;
else if(A[p] > A[begin] ){
if(target >= A[begin] && target < A[p]){
end = p;
}
else begin = p + 1;
}
else{
if(target > A[p] && target <= A[end - 1] ){
begin = p + 1;
}
else end = p;
} }
return -1;
}
}

最新文章

  1. {二逼小青年的记事簿}为什么treelist不会显示子节点的文字?
  2. Assign an Elastic IP Address to Your Instance
  3. Tomcat 6 --- JNDI详解
  4. android系统架构解析
  5. xbmc的静态链接办法
  6. 有趣的动画视图集合:Android View Animations
  7. (LeetCode 135) Candy N个孩子站成一排,给每个人设定一个权重
  8. 【转载】理解OAuth 2.0
  9. Java中如何防止内存泄漏的发生
  10. CICS日志---内存问题
  11. Bash判断文件夹(目录)是否存在
  12. 你被adblock坑过吗?
  13. 防反编译的加壳工具-Virbox Protector
  14. springboot使用RestHighLevelClient批量插入
  15. [物理学与PDEs]第1章第1节 引言
  16. java基础知识—运算符和基本选择结构
  17. 初始easyUI
  18. centos7图形界面
  19. Django 查询集简述
  20. Code Signal_练习题_extractEachKth

热门文章

  1. Object C学习笔记16-委托(delegate)
  2. css清楚浮动的几种常用方法
  3. F12调试打开时,出现很多多余内容问题解决
  4. iOS开发中的错误整理,重写的构造函数中,没有通过self调用
  5. C# AttributeUsage的使用浅析
  6. poj2406 KMP
  7. Netbeans 中的编译器相关配置
  8. web.xml中/与/*的区别
  9. NOIP2014 day2 T2 洛谷P2296 寻找道路
  10. SGU 275 To xor or not to xor