Q3:二维数组中的查找
来源:互联网 发布:淘宝怎么选择服装公司 编辑:程序博客网 时间:2024/06/04 08:33
publicclass Q3 {
/**
* 1、数组基础:数组是一种简单的数据结构,占据一块连续的内存并按照顺存储数据。创建数组时,先要指定数组的大小,然后根据大小分配内存。 即使为数组存储一个数字,也要预先分配内存。这样会导致:数组的空间效率比较低,使得空闲 的区域得不到很好的利用。
* 2、由于内存联系,因此数组可以再O(1)时间读/写元素,时间效率较高。
* 3、题目:二维数组中的查找
* 4、题目说明:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的二维数组和一个整数,判断数组中是否含有该整数。
* 5、题目分析:如下数组查找元素7,返回true,查找元素5返回false
*1 2 8 9
*2 4 9 12
*4 7 10 13
*6 8 11 15
* 从左上角的数字开始判断,1)左上角的数字等于要查找的数组,则结束;
* 2)若大于要查找的数字,删除一列;
* 3)若小于要查找的数字,删除一行。
*/
publicstaticvoid main(String[] args) {
int[][] data =newint[4][4];
data[0][0]=1;
//........输入数组即可.......
System.out.println(findNum(data, 7));
}
publicstaticboolean findNum(int array[][],int number){
//判断数组是否合法
if(array ==null){
returnfalse;
}
int column = array[0].length-1;//求列的数目,从最大列开始
int cow = 0;//记录行的数目,从第0行开始
while(cow < array.length && column >= 0){
//左上角的数字正好是要查找的数字number
if(array[cow][column] == number){
returntrue;
}
//左上角额数字小于要查找的数字number,删除一行
if(array[cow][column] < number){
cow++;
}
//左上角的数字大于要查找的数字number,删除一列
if(array[cow][column] > number){
column--;
}
}
returnfalse;
}
}- Q3:二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- CountDownLatch
- 160701 iconfont的使用
- Android 支付宝以及微信支付快速接入流程
- Codis对比Twemproxy
- Sketch入门
- Q3:二维数组中的查找
- 复习spring碰到的一些小知识
- BroadcastReceiver 广播接收者
- MySQL 服务无法启动
- 100小时学习SAP之自学MM模块(二)
- jQurey的is(":visible")这个函数效率很低
- 几种常见的YUV格式--yuv422:yuv420
- Mark 增加技能树
- ios 中使用xib拖拽的scrollview中子控件位置偏移