在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从

上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

public class 二维数组中的查找 {
/*
* 最初反应是遍历一遍,但是数组从左到右和从上到下都是递增的,那么可以把二维数组的右上角
* 作为初始比较位置。比如从右上角开始,假设右上角的数为x,输入数值为y。如果y<x,那就直接往左找,如果 y>x,就向下一行。
*/
public static boolean Find(int target, int[][] array) {
/*二维数组可以理解成一个一维数组里的每个元素都是一个数组
* 定义一个整型数组:3行4列
* int a[][] = new int[3][4];
* 获取行数---3行 int lenY = a.length;
* 获取列数---4列 int lenX = a[0].length;
*
*/
int row=0;
int col=array[0].length-1;
int rowlength= array.length;
int collength=array[0].length;
//这个地方一开始没有考虑到,实际写算法的时候应该考虑到各种输入值。
if(rowlength==0 || collength==0){
return false;
} while(row<rowlength && col>=0){
//while(row<array.length && col>=0){
if(target>array[row][col]){
row++;
}
else if(target<array[row][col]){
col--;
}
else
return true;
}
return false;
}
}

最新文章

  1. 解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题
  2. Cocos2d-x开发实例:使用Lambda 表达式
  3. 扩展Visual Studio IDE
  4. java中获取类加载路径和项目根路径的5种方法
  5. css如此强大你知道吗
  6. Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
  7. Shards
  8. react开发
  9. Dubbo简介
  10. jupyter nootbook本地使用指南
  11. Python文本编辑器推荐
  12. vue 图片预览插件
  13. 报表工具-ECharts 特性介绍
  14. Binary Search 二分法方法总结
  15. Hibernate概念初探
  16. Memcached cas 陷阱
  17. SNMP支持IPv6
  18. 一个判断I2C总线通信异常原因的方法
  19. PYTHON-面向对象-练习-王者荣耀 对砍游戏
  20. 用shell 实现对MySQL数据库分页

热门文章

  1. webpack 编译时,提示 Unexpected token: keyword &#171;const&#187;
  2. 什么是CSV
  3. 前端学习(二):head标签
  4. 设备管理的数据库路径是/storage/sdcard0/data/devuce-db
  5. 将ip加入到防火墙
  6. phpcms根据二级栏目列表写的三级栏目列表
  7. jquery判断radio是否选中
  8. Python列表脚本操作符
  9. Python os.symlink() 方法
  10. Python List sort()方法