算法日常练习-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

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

  • 仿写一个任意进制转任意进制方法

    本帖仅为日常算法练习总结,若有更好的算法欢迎留言分享。 1、先看下js原生方法 2、先准备一个工具方法将16、36...

  • 算法日常练习2

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。 你可以假设每...

  • 算法练习-1

    两数之和 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的...

  • 日常练习(1)

  • 日常练习1

    我爱的电视剧今晚大结局。为了今天,我推提前完成了工作,推掉了所有的社交活动,准时守在了电视前。 今天天气很热,低气...

  • 日常算法练习(一) Leetcode

    前言 算法作为编程基本能力的体现,虽然日常工作很少使用到算法,但是面试大厂往往都会包含这一部分,因此,作为平时的基...

  • 日常算法练习(二) Leetcode

    前言 这次算法练习是数组类型简单练习,以后LeetCode的练习会根据不同tags进行展开,先easy再到medi...

  • 2017-12-25

    日常临摹练习1

  • go算法练习1

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

网友评论

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

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