劍指offer 66道 二維陣列的查詢

2021-09-13 13:57:38 字數 1045 閱讀 2202

時間限制:1秒 空間限制:32768k 熱度指數:1021682

題目描述

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

思路:每行從左至右遞增,每列從上至下遞增。每次都和右上角的數字比較,如果target>右上角,則右上角數字的這一行都小於target,則刪掉這一行。如果target《右上角,則右上角數字的這一列都大於target,則刪掉這一列。

# -

*- coding:utf-8-

*-class

solution

(object)

: # array 二維列表

def find

(self, target, array)

: # write code here

row=

len(array)#行數

col=

len(array[0]

)#列數

for i in

range

(row)

:for j in

range

(col)[:

:-1]

:if(array[i]

[j]==target)

:return true

elif

(array[i]

[j]>target)

: col-=

1else

: row+=

1return false

if __name__ ==

"__main__"

:print

(solution()

.find(7

,[[1

,2,3

],[4

,5,6

],[7

,8,9

]]))

劍指offer 66道 跳台階

時間限制 1秒 空間限制 32768k 熱度指數 373877 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 與斐波那契數列思想一樣,同樣使用迴圈代替遞迴,時間複雜度為o n coding utf 8 class sol...

劍指Offer 66 構建乘積陣列

給定乙個陣列a 0,1,2,3,n 1 請構建乙個陣列b 0,1,2,3,n 1 條件為b i a 0 a 1 a 2 a i 1 a i 1 a n 1 限制 不能使用除法 也就是說b i 等於 a 陣列中除a i 以外的其他所有元素之積 思路1 先來舉例分析一下 例如陣列a 元素個數n 5 b ...

劍指offer 66 構建乘積陣列

給定乙個陣列a,構建乙個陣列 b,其中b中的元素b i a 0 xa 1 x a i 1 xa i 1 x a n 1 不能a使用除法。對於這道題,由於不能使用除法,可以把b i a 0 xa 1 x a i 1 xa i 1 x a n 1 看成是a 0 xa 1 x a i 1 和a i 1 x...