タイトル
(同一の各一次元アレイの長さ)は、上から下に増加する順に、二次元アレイの各列を並べ替えるために、昇順ソートの順に左から右に、各行。完全な機能、例えば、二次元アレイと整数を入力し、配列の整数が含まれているか否かが判断されます。
考え
- 配列は注文したので、私たちは裁きの始まりのための基礎として右上または左下隅を選択しています
- 上方に移動し、その後、決定し続け、次いで、1未満、正しい判断を継続する、判断するための基礎として選択左下隅、入力の左下隅より大きい整数値を想定
コード
function Find(target, array) {
let len = array.length-1; //数组的行数
let lenCol = array[0].length-1; //数组的列数
if(target<array[0][0] || target>array[len][lenCol]){ //进行临界值判断
return false;
}
let i=len; //最后一行
let j=0; //第一列
while(i>0 && j<lenCol){
if(target>array[i][j]){
j++;
}
if(target<array[i][j]){
i--;
}
if(target === array[i][j]){
return true
}
}
return false;
}