二维数组中的查找

来源:互联网 发布:域名到期时间查询 编辑:程序博客网 时间:2024/06/17 11:01
/*<div class="nowcoder-topic-body"><h2 class="subject-item-title">题目描述</h2><div class="subject-question">在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。</div></div>*/import java.util.Scanner;public class Solution {    /*@WendyMay解题思路:每次将target与最右上角的数值比较 1、数值相等,exists; 2、target更大,说明要查找的数一定不在当前右上角数值当前行,即行数加1; 3、target更小,说明要查找的数一定不在当前右上角数值的当前列,即列数减1;    注意事项:注意数组下表不要越界 数组行数:Array.length;            数组列数:Array[0].length;            格式对齐;     */        public  boolean Find(int[][] array,int target) {        int column=-1;        int row=-1;        column=array[0].length;//get the array's column count        row=array.length;//get the array's row count       int currentRow=0;//the row the right corner data is in       while(column>0&¤tRow<row)       {            if(target==array[currentRow][column-1]){                return true;             }            else if(target>array[currentRow][column-1]){                ++currentRow;                }                       else{                 --column;                }               }                return false;    }}

1 0
原创粉丝点击