zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。

    题目:
    搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:  每行的元素从左到右升序排列。 每列的元素从上到下升序排列。
    思路:
    二分查找常规思路。
    程序:
    class Solution:
        def searchMatrix(self, matrix, target):
            """
            :type matrix: List[List[int]]
            :type target: int
            :rtype: bool
            """
            if not matrix:
                return False
            row = len(matrix)
            column = len(matrix[0])
            if row == 0:
                return False
            if column == 0:
                return False
            for index in range(row):
                if target >= matrix[index][0] and target <= matrix[index][column - 1]:
                    left_index = 0
                    right_index = column - 1
                    while left_index <= right_index:
                        middle_index = (left_index + right_index) // 2
                        if matrix[index][middle_index] == target:
                            return True
                        elif matrix[index][middle_index] > target:
                            right_index = middle_index - 1
                        else:
                            left_index = middle_index + 1
            return False
  • 相关阅读:
    ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案
    wgs84 转百度经纬度坐标
    vue 编译大量空格警告问题总结 warning: Replace `↹↹` with `&#183;&#183;`
    微信sdk php签名方法整理
    Vue 使用百度地图组件
    php unicode转字符串
    第十篇、微信小程序-view组件
    第九篇、微信小程序-button组件
    第八篇、微信小程序-progress组件
    第七篇、微信小程序-video组件
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12874802.html
Copyright © 2011-2022 走看看