日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 搜索二维矩阵

發(fā)布時(shí)間:2025/3/21 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 搜索二维矩阵 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

搜索二維矩陣

編寫一個(gè)高效的算法來判斷 m x n 矩陣中,是否存在一個(gè)目標(biāo)值。該矩陣具有如下特性:

每行中的整數(shù)從左到右按升序排列。
每行的第一個(gè)整數(shù)大于前一行的最后一個(gè)整數(shù)。

示例 1:

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
輸出:true
示例 2:

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
輸出:false

提示:

m == matrix.length
n == matrix[i].length
1 <= m, n <= 100
-104 <= matrix[i][j], target <= 104

題解

class Solution:"""處理思路:1.先對(duì)列進(jìn)行二分處理,找到小于target 的最大第一個(gè)元素的列2.對(duì)此列進(jìn)行二分, 找到推行的target3.空間復(fù)雜度為O1 時(shí)間復(fù)雜的為log(m+n)"""def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:col_first = 0col_last = len(matrix) - 1row_first = 0row_last = len(matrix[0]) - 1row_data = self.column_binary(matrix, col_first, col_last, target)return self.row_binary(row_data, row_first, row_last, target)def column_binary(self, matrix, col_first, col_last, target):if col_last == 0:return matrix[0]# 對(duì)列的第一個(gè)元素進(jìn)行二分對(duì)比while col_last >= col_first:mid = col_first + (col_last-col_first)//2print('mid:', mid)if matrix[mid][0] <= target:# mid + 1 > col_last 處理[[1],[3]] 3 這種情況if mid+1 > col_last or matrix[mid+1][0] > target:# matrix[mid] 就是我們想要找的列:return matrix[mid]else:col_first = mid + 1else:col_last = mid - 1return matrix[col_last]def row_binary(self, row_data, row_first, row_last, target):# 對(duì)行進(jìn)行二分while row_last >= row_first:mid = row_first + (row_last-row_first)//2print('mid_Val:', row_data[mid])if row_data[mid] == target:return Trueelif row_data[mid] > target:row_last = mid - 1else:row_first = mid + 1return False

總結(jié)

以上是生活随笔為你收集整理的python 搜索二维矩阵的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。