算法日常练习-1

作者: _wwwwpr | 来源:发表于2018-11-23 16:24 被阅读0次

    Q : 在一个二维数组中,从左到右,从上到小都是递增的。查找数组中的某一个元素

    package searchMatrix;
    
    /**
     * 在一个二维数组中,从左到右,从上到小都是递增的。查找某一个数
     */
    public class SearchElement {
    
        public int[][] arr;
    
        public SearchElement(){
            arr = new int[][]{ {1,2,4,8},
                            {3,6,12,13},
                            {5,7,13,15},
                            {8,9,16,17}};
        }
    
        /**
         * 从右上角查找,如果相等返回。
         * 如果右上角小于data 删除行
         * 如果右上角大于data 删除列
         */
        public boolean findElement(int[][] arr,int data){
            int rows = arr.length;  //行
            int columns = arr[0].length;    //列
            int row = 0;
            int column = columns-1;
            while (row < rows && column>=0){
                if (data == arr[row][column]){
                    return true;
                }
                if (arr[row][column] > data){
                    column--;
                }else {
                   row++;
                }
            }
            return false;
        }
    }
    
    

    相关文章

      网友评论

        本文标题:算法日常练习-1

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