題目:在一個(gè)二維數(shù)組中樟遣,每一行都按照從左到右遞增的順序排序茧妒,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù)及老,輸入這樣一個(gè)二維數(shù)組和整數(shù)抽莱,判斷數(shù)組中是否含有該整數(shù)。
class Solution {
func find(_ n: [[Int]],_ i: Int) -> Bool {
guard n.count > 0 else {
return false
}
var row = 0
var col = n.first!.count - 1
while row <= n.count - 1 && col >= 0 {
if n[row][col] == i {
return true
}else if n[row][col] > i {
col -= 1
}else {
row += 1
}
}
return false
}
}
image
解法思想:首先把數(shù)組畫成矩形骄恶。然后觀察規(guī)律發(fā)現(xiàn)食铐,從右上角第一個(gè)數(shù)字看,比它大的都在下方僧鲁,比它小的都在左方虐呻。很容易就得出題解了。
非特殊說明寞秃,本博所有文章均為博主原創(chuàng)斟叼。
如若轉(zhuǎn)載,請(qǐng)注明出處:https://cubegao.com/archives/search_a_2d_matrix.html