LeetCode-074-搜索二維矩陣

題目描述:編寫一個(gè)高效的算法來判斷 m x n 矩陣中,是否存在一個(gè)目標(biāo)值。該矩陣具有如下特性:
每行中的整數(shù)從左到右按升序排列。
示例說明請(qǐng)見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/search-a-2d-matrix/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:二分查找法
由于matrix數(shù)組的行和列都是有序的,所以采用二分查找法是比較高效的方法,具體查找的過程如下:
首先,從matrix數(shù)組的左下角開始查找,即初始索引位i為
matrix.length - 1
,j為0
;如果當(dāng)前位置的值等于target,則直接返回true;
如果當(dāng)前位置的值小于target,則位置右移,即j加一;
查找結(jié)束的條件是i不小于0且j不大于
matrix[0].length - 1
,即查找的值不能超過matrix數(shù)組的界限。如果查找結(jié)束都沒有找到和target相等的值,則返回false。
【每日寄語(yǔ)】 生活中有好的日子和不好的日子,不好的日子就咬著牙撐過去,好的日子就會(huì)來的,相信明天會(huì)更好!
標(biāo)簽: