行從左到右遞增,列從上到下遞增,找目標值
位元組
講思路在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序,給定一個目標數,判斷是否在矩陣中。
先看target是不是大於第一行最右邊的(最大值),
大於然後對比往下一行的最大值,
小於就跟當前一列的值往左對比。。
二維陣列是從左到右遞增,從上到下遞增,row為行數,col為列數,a[row-1][col-1]為最大數,如果剔除這一行,這一列,則最大數為a[row-2][col-2],如果要查詢的num大於a[row-2][col-2]並且大於a[row-1][col-1],則在該row-1行和col-1列查詢,照這樣遍歷。
def find(target, array):
i = 0
j = len(array[0]) - 1
while i < len(array) and j >= 0:
base = array[i][j]
if target == base:
return True
elif target > base:
i += 1
else:
j -= 1
return False
print(find(11212,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]))
相關文章
- Java 從陣列來看值傳遞和引用傳遞Java陣列
- 左值、左值引用、右值、右值引用
- 左值、右值、左值引用,右值引用,std::move函式函式
- JavaScript 左值與右值JavaScript
- sql 流水號的遞增SQL
- 單調遞增的數
- php遞增和遞減運算子的介紹PHP
- C++ 左值和右值C++
- 同步遞增(遞減)的齊次3項恆等式恆等式
- tkinter中spinbox遞增和遞減控制元件(十)控制元件
- 遞增排序個人見解排序
- C筆記-左值與右值筆記
- 目標和——遞迴的實踐遞迴
- 教你使用SQLite Autoincrement(自動遞增)SQLiteREM
- excel下拉數字不遞增只複製 excel表格下拉數字不遞增怎麼操作Excel
- C++ 右值引用和左值引用C++
- C++左值引用與右值引用C++
- c++ 左值引用與右值引用C++
- python如何建立遞增的生成器Python
- 遞推--找數字
- 值傳遞和引用傳遞
- 從上到下遍歷二叉樹-Java二叉樹Java
- 怎樣向自定義標籤裡傳遞用Controller裡的assign()傳遞到頁面上的值Controller
- 陣列左邊減去右邊數值的最大差值陣列
- 徹底理解遞迴,從遞迴的本質說起!遞迴
- linux 中判斷一列資料是否按照指定步長遞增Linux
- 從“數學歸納法”到理解“遞迴演算法”!遞迴演算法
- 彈性盒佈局之從左往右,空間不夠換行繼續從左往右(從左往右,從上往下,between效果)
- vue 序號,翻頁時序號遞增Vue
- 51nod 1274 最長遞增路徑
- 聽說:分散式ID不能全域性遞增?分散式
- 【LeetCode】738. 單調遞增的數字LeetCode
- html、php和js值的傳遞(使用ajax進行傳遞)HTMLPHPJS
- 單目標定:從理論到OpenCV實踐OpenCV
- iOS-Swift中的遞增(++)和遞減(--)被取消的原因-官方答覆iOSSwift
- GPT 輔助寫更精準用例之 從左到右流程圖 解決隨筆GPT流程圖
- Python3之從遞迴到閉包再到裝飾器Python遞迴
- Java的值傳遞和引用傳遞Java