zoukankan      html  css  js  c++  java
  • 程序员面试金典-面试题 10.09. 排序矩阵查找

    题目:

    给定M×N矩阵,每一行、每一列都按升序排列,请编写代码找出某元素。

    示例:

    现有矩阵 matrix 如下:

    [
    [1, 4, 7, 11, 15],
    [2, 5, 8, 12, 19],
    [3, 6, 9, 16, 22],
    [10, 13, 14, 17, 24],
    [18, 21, 23, 26, 30]
    ]
    给定 target = 5,返回 true。

    给定 target = 20,返回 false。

    分析:

    从数组的右上角开始搜索,当前元素比目标元素小,就向下搜寻,比目标元素大舅向左搜寻。

    程序:

    class Solution {
        public boolean searchMatrix(int[][] matrix, int target) {
            if(matrix.length == 0)
                return false;
            int x = 0;
            int y = matrix[0].length-1;
            while(x < matrix.length && y >= 0){
                if(matrix[x][y] < target){
                    x++;
                }else if(matrix[x][y] > target){
                    y--;
                }else{
                    return true;
                }
            }
            return false;
        }
    }
  • 相关阅读:
    线程queue
    定时器
    event模拟数据库链接
    最速下降法(梯度下降法)
    神经网络中的反向传播算法
    批量学习和在线学习的区别
    LMS算法
    粒子群算法
    遗传算法
    logistic回归
  • 原文地址:https://www.cnblogs.com/silentteller/p/12487830.html
Copyright © 2011-2022 走看看