こんにちは、友達!今回は、CodeWars の最小規模チャレンジについて共有したいと思います。この課題は、論理と体系的思考を訓練するだけでなく、この概念が現実の世界でどのように役立つかについてのアイデアを与えるので、本当にエキサイティングです。さあ、一緒に話し合いましょう!
つまり、数値の配列と特定のインデックスが与えられます。私たちのタスクは、そのインデックスの要素より大きい最小の数値を見つけて、インデックスを返すことです。一致する数値がない場合は、-1 を返さなければなりません。
例:
配列: [4, 1, 3, 5, 6]
インデックス: 0 (参照番号は 4)
4 より大きい最小の数値はインデックス 3 にある 5 であるため、結果は 3 になります。
なぜ 3 になるのでしょうか?
配列は 0
から始まります
だから:
4 : インデックス 0
1 : インデックス 1
3 : インデックス 2
5 : インデックス 3
6 : インデックス 4
この課題を解決するために、leastLarger という関数を作成しました。コードは次のとおりです:
function leastLarger(a, i) { let smaller = Infinity; // Nilai pembanding awal let result = -1; // Default hasil kalau nggak ada elemen yang memenuhi for (let index = 0; index < a.length; index++) { if (a[index] > a[i] && a[index] < smaller) { smaller = a[index]; // Update nilai terkecil yang lebih besar result = index; // Simpan indeks elemen } } return result; // Kembalikan hasil }
初期化
配列の反復
結果を返す
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3
説明:
より「JavaScript のみ」のアプローチを好む方のために、filter、Math.min、findIndex などの組み込みメソッドを使用して、このソリューションを 1 行のコードで書くことができます。
function leastLarger(a, i) { let smaller = Infinity; // Nilai pembanding awal let result = -1; // Default hasil kalau nggak ada elemen yang memenuhi for (let index = 0; index < a.length; index++) { if (a[index] > a[i] && a[index] < smaller) { smaller = a[index]; // Update nilai terkecil yang lebih besar result = index; // Simpan indeks elemen } } return result; // Kembalikan hasil }
このコードは同じことを行いますが、より機能的で簡潔なスタイルになっています。変数をあまり追加せずに迅速なソリューションを作成したい状況に最適です。
このような関数は、実際にはさまざまな現実の状況に非常に関連しています。いくつかの例:
チケット予約システム
タスクのスケジュール
在庫管理
この課題は単純そうに見えますが、実際にやってみると、きちんとしたロジックが非常に重要であることがわかりました。この課題で私が気に入っているのは、この概念が現実世界に適用するのにどれほど適切であるかということです。
そうそう、友達がこのチャレンジを完了する別の方法を持っている場合は、遠慮せずにコメント欄で共有してください。もしかしたら、私たちはお互いの異なるアプローチから学ぶかもしれません。この共有がお役に立てば幸いです。コーディングを楽しんでください。 ?
以上がCodeWars Challenge ソリューションの共有: Basic から Aris までの最小規模の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。