美文网首页
二维数组查找指定元素

二维数组查找指定元素

作者: 联想桥南 | 来源:发表于2017-11-02 21:37 被阅读0次

    已知二维数组,横向竖向都递增有序。查找某数,是不是在数组里。
    题目思路见:剑指offer的第三题

        public static void main(String[] args) {
            int[][] array = {{1, 2, 8, 9},
                    {2, 4, 9, 12},
                    {4, 7, 10, 13},
                    {6, 8, 11, 15}};
            System.out.println(findValue(10,array));
        }
    
        public static boolean findValue(int target,int[][] array){
            int rows = array.length;//行数
            int columns = array[0].length;//列数
    
            int row = 0;//循环起始行
            int column = columns -1;//循环起始列
    
            //特殊情况下处理
            if (array == null || array.length<1 || array[0].length<1){
                return false;
            }
    
            //正常情况
            while (row >=0 && row<=rows && column >=0 && column< columns){
                if(array[row][column] == target){
                    return true;
                }else if (array[row][column] > target){
                    column--;
                }else if (array[row][column] < target){
                    row++;
                }
            }
            return false;
        }
    
    1. 在纸上手写代码,要滤清思路再下手,切忌上来就写。
    2. 先写测试用例,比这测试用例思考思路
    3. 主流程的循环控制,结束条件选择
    4. 程序的鲁棒性,特除情况,空值越界的处理

    相关文章

      网友评论

          本文标题:二维数组查找指定元素

          本文链接:https://www.haomeiwen.com/subject/pdgapxtx.html