您的位置:首页 > Web前端

牛客网-剑指Offer-二维数组的查找

2018-03-27 22:05 204 查看

题目描述

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。import java.util.*;
public class Solution {
public static int[][] array;//全局变量
/*在网站中直接写这段即可
public boolean Find(int target,int [][] array)
{
for (int i=0;i<array.length;i++)
for(int j=0;j<array[i].length;j++)
{
if(array[i][j] == target)
return true;
}
return false;
}*/
public static void main(String arg[])
{
Scanner s=new Scanner(System.in);
System.out.println("输入行数:");
int i=s.nextInt();
System.out.println("输入列数:");
int j=s.nextInt();
int [][]array=new int[i][j];
System.out.println("输入元素:");
for(int t=0;t<i;t++) {
for(int k=0;k<j;k++) {
array[t][k]=s.nextInt();//输入的数存入数组里
}
}
for (int x = 0; x < array.length; x++) {
Arrays.sort(array[x]); // 直接调用数组arrays里的sort()这个方法对里边的一维数组进行排序
}
for (i=0;i<array.length;i++) {
for (j=0;j<array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();//输出有序数组
}
System.out.println("输入查找的数:");
int target=s.nextInt();
boolean cunzai = false;
for (i=0;i<array.length;i++) {//判断,直接搜索
for(j=0;j<array[i].length;j++)
{
if(array[i][j] == target)
cunzai = true;
}
}
if(cunzai)
System.out.println("存在");
else
System.out.println("不存在");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息