当前位置: 首页 > 后端技术 > Java

JZ-001-在二维数组中搜索

时间:2023-04-01 18:13:44 Java

在二维数组中搜索标题用二维数组描述(每个一维数组长度相同),每一行从左到右升序排列向右,每列从上到下按升序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否包含整数。题目链接:二维数组中查找问题的解释方法一:暴力法采用穷举法,对二维数组的每个元素进行两次循环,直到找到目标数或所有元素都存在遍历。效率较低。方法二:二分查找法因为二维数组是有序的,而且是从左到右从下到上排序,所以可以使用二分查找法,初始中位数为右上或左上小数.然后将其与目标数进行比较,以确定向哪个方向移动,直到找到目标值。效率更好。代码publicclassJz01{/***暴力破解方法**@paramtarget*@paramarray*@return*/publicstaticbooleanfind(inttarget,int[][]array){for(inti=0;i=0){if(target==array[r][c]){returntrue;}否则如果(焦油get>array[r][c]){++r;}else{--c;}}返回假;}/***测试用例**@paramargs*/publicstaticvoidmain(String[]args){int[][]ex1=newint[4][4];for(inti=0;i<4;i++){for(intj=0;j<4;j++){ex1[i][j]=i+j;}}}System.out.println(find(4,ex1));System.out.println(find1(4,ex1));System.out.println(查找(222,ex1));System.out.println(find1(222,ex1));}}【每日留言】不否定自己,人生明朗,好运在路上