博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【面试】二维数组中找数字
阅读量:4980 次
发布时间:2019-06-12

本文共 1044 字,大约阅读时间需要 3 分钟。

一、描述

  在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的排序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

二、解题思路

  关键:从数组的最右上方的数开始判断,根据该数与指定整数的大小进行下一步的比较。

三、代码

  根据思路可以得到如下的代码

public class FindInPartiallySortedMatrix {    public static void main(String[] args) {        int[][] matrix = {
{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}}; System.out.println(find(matrix, 4, 4, 15)); } public static boolean find(int[][] matrix, int rows, int columns, int number) { boolean find = false; if (matrix != null && rows > 0 && columns > 0) { int row = 0; int column = columns - 1; while (row < rows && column >= 0) { if (matrix[row][column] == number) { find = true; break; } else if (matrix[row][column] > number) { --column; } else { ++row; } } } return find; }}

  结果:true

转载于:https://www.cnblogs.com/leesf456/p/5808568.html

你可能感兴趣的文章
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
【Linux开发】CCS远程调试ARM,AM4378
查看>>
Linux之ssh服务介绍
查看>>
排序:冒泡排序
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>
Where does Visual Studio look for C++ Header files?
查看>>
Java打包可执行jar包 包含外部文件
查看>>