「剣指offer」――JavaScript(1)二次元配列の中の検索

595 ワード

二次元配列の検索
テーマの説明
二次元配列では、各行は左から右へのインクリメント順に並べられ、各列は上から下へのインクリメント順に並べられます.このような二次元配列と整数を入力して、配列に整数が含まれているかどうかを判断する関数を完成してください.
コードを実現
function Find(target, array)
{
    var row = array.length;
    var i = row-1;
    var j = 0;
    while( i>=0 && array[i][j]){
        if (array[i][j]target) {
           i--;
        } else {
           return true;  
        } 
    }
    return false
}
考え方
行列は秩序化されていて、左下から見て、上の数字に向かって逓減し、右の数字にインクリメントされるので、左下から探し始めます.左の数字が左下の数字より大きい場合、右に移動します.数字を検索するには、左下の数字よりも小さい時間、上に移動します.