「ソードバリューオファー」の最初のレッスン
毎日1つの質問、一歩前進。
2次元配列でのルックアップ
トピック:
2次元配列(各1次元配列は同じ長さ)では、各行が左から右に昇順で並べ替えられ、各列が上から下に昇順で並べ替えられます。
関数を完成させ、そのような2次元配列と整数を入力して、配列に整数が含まれているかどうかを判断してください。
アイデア:
1.被験者は主に2次元配列の走査を調べますが、配列走査の一般的な方法は何ですか?
2.最も簡単なのはforループです。この質問はforループで解決され
ます。3。2次元配列は2つのforループでトラバースされます。外部のforは行を受け取り、内部のforは列を受け取ります。3
。次にブールを定義しますタイプの基本的なタイプ、初期値はfalse
4.配列内のデータが整数と等しい場合、判断を行い、ブール型はtrueに変更されて戻ります。そうでない場合、初期値は直接返されます
。5 . 言うまでもなく、コードに移動します...
コード:
/*
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,
每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
*/
public class DoubleArrayDemo01 {
public boolean Find(int target, int [][] array) {
boolean a = false;//定义初始布尔值
for (int i = 0; i < array.length; i++) {
//外层循环——行
for (int j = 0;j<array.length;j++){
//内层循环——列
if(array[i][j]==target)//判断相等
a = true;//若相等,赋值为true
}
}
return a;//返回布尔值
}
}
結論:この質問では、主に2次元配列のトラバーサルを調べます。何千もの方法があり、ループトラバーサルに使用することを好みます。