每天一个算法之二维数组查找整数
来源:互联网 发布:发型设计软件免费版 编辑:程序博客网 时间:2024/05/17 09:02
/*
* 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
* 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
*
* 思路:每一行,下面的比上面的大,每一列右边的比左边的大。
* 从左下角开始,如果目标比开始位置的数小,则行坐标上移-1,如果比开始的位置大,列坐标右移+1
*
* 如果是正方形,最多循环n+m次,算法的时间复杂度为线性o(max(n,m))
*/
public classmetrixfind {
publicstaticbooleanFind(int[][]array,inttarget)
{
/*二维数组的行数和列数*/
int rowCount = array.length;
int colCount = array[0].length;
int i, j;//i指定行的变化,j指定列的变化
//循环
for (i = rowCount - 1, j = 0; i >= 0&& j<colCount;)
{
if (target == array[i][j])
returntrue;
if (target<array[i][j])
{
i--;
continue;
}
if (target>array[i][j])
{
j++;
continue;
}
}
return false;
}
publicstaticvoidmain(String args[]){
int[][] array={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
System.out.println(Find(array,0));
}
}- 每天一个算法之二维数组查找整数
- C++算法之 二维数组的查找
- 算法学习之二维数组中的查找
- 算法学习之二维数组中的查找
- 算法题之-二维数组元素查找
- 算法练习之二维数组的查找
- 二维数组中查找整数
- 二维数组查找算法
- 每天学习一算法系列(9) (输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果)
- 校招准备系列:每天一道算法题(10)-二维数组查找
- 【算法】二维数组中的查找
- 二维数组查找算法(C++)
- 算法-二维数组中的查找
- 剑指offer之二维数组中查找一个数
- 剑指Offer算法实现之三:二维数组中的查找
- 经典算法之二维数组中的查找问题
- 每天一个算法之字符数组全排列
- 【每天一个算法】一、交换两个整数
- ksh array variable
- 问题积累一
- 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践
- 等了好久 终于盼来了
- 蓝牙 穿戴手环通信原理
- 每天一个算法之二维数组查找整数
- 云栖大会之真格基金投资思路以及IDG就零售的一些观点整理
- 欧拉工程第11题 在20×20的网格中同一直线上四个数的最大乘积是多少
- S8 U8 S16_LE S16_BE U16_LE U16_BE格式
- C Primer Plus学习 敲代码的错误1
- [LeetCode]406.Queue Reconstruction by Height
- 自学编程之道
- ksh trap signal
- LeetCode 287. Find the Duplicate Number 解题报告