Leetcode面试经典150题-74.搜索二维矩阵

解法都在代码里,不懂就留言或者私信

二分查找,比较简单

java 复制代码
class Solution {
    /**解题思路:每一行有序、每一列也有序,只是整体不是严格有序的,那我们需要找一个点,只能往两个方向走,往一个方向走是变小
    往另外一个方向走是变大,我们右两种选择:左下角的点和右上角的点
    我习惯于用右上角的点 */
    public boolean searchMatrix(int[][] matrix, int target) {
        /**就一个数比较相等不相等就完事了呗 */
        if(matrix.length == 1 && matrix[0].length == 1) {
            return matrix[0][0] == target;
        }
        int curRow = 0;
        int curCol = matrix[0].length - 1;
        /**行是变大的,列是变小的,只有这一种走法,while条件是为了避免越界*/
        while(curRow < matrix.length && curCol >= 0) {
            if(matrix[curRow][curCol] == target) {
                return true;
            } else if(matrix[curRow][curCol] < target) {
                curRow ++;
            } else {
                curCol --;
            }
        }
        /**中间没有返回true说明没找到,这里返回false作为答案 */
        return false;
    }
}
相关推荐
南北是北北5 分钟前
RecyclerView 进阶绑定:多类型 / 局部刷新(payload)/ 稳定 ID
面试
Hilaku10 分钟前
为什么我开始减少逛技术社区,而是去读非技术的书?
前端·javascript·面试
ZhengEnCi10 分钟前
Java_Object 数组完全指南-从入门到精通的多类型数据存储利器
java·后端
色空大师10 分钟前
【mybatisPlus详解】
java·mybatis·mybatisplus
南北是北北19 分钟前
RecyclerView 的关键角色与各自职责/协同关系
面试
starxg23 分钟前
bkhtmltopdf - 高性能 HTML 转 PDF 工具(代替 wkhtmltopdf)
java·pdf·html·wkhtmltopdf·htmltopdf
沐怡旸35 分钟前
【底层机制】Handler/Looper 实现线程切换的技术细节
android·面试
深栈35 分钟前
机器学习:支持向量机
算法·机器学习·支持向量机
it技术39 分钟前
[入门精通] TLjava高薪扩展训练VIP系列179G69
java
ZhengEnCi41 分钟前
ObjectUtils.isEmpty 完全指南-从入门到精通的 Java 空值判断利器
java·后端