zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):数组类:第74题:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。

    题目:
    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:  每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 
    思路:
    对行进行二分
    程序:
    class Solution:
        def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
            row = len(matrix)
            if row <= 0:
                return False
            if row == 1:
                if target in matrix[0]:
                    return True
                else:
                    return False
            for index in range(row):
                top = 0
                bottom = len(matrix) - 1
                while top <= bottom:
                    middle = (top + bottom) // 2
                    if target > max(matrix[middle]):
                        top = middle + 1
                    elif target < min(matrix[middle]):
                        bottom = middle - 1
                    elif target in matrix[middle]:
                        return True
                    else:
                        return False
            return False
     
    目前为止最好的成绩了,怀挺

  • 相关阅读:
    10003 Cutting Sticks(区间dp)
    Cocos2d-x init() 和 onEnter() 区别
    HDU1181【有向图的传递闭包】
    空间参考系统与WKT解析
    面试经典-分金条
    uvalive 3971
    lua学习:使用Lua处理游戏数据
    面试经典--两个房间 每间房间三盏灯
    浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并
    顺序队列之C++实现
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12752935.html
Copyright © 2011-2022 走看看