この記事はWeChatの公開アカウント「Magic Programmer K」から転載したもので、著者はMagic Programmer Kです。この記事を転載する場合は、マジカルプログラマーKの公開アカウントまでご連絡ください。 序文行列があります。ロボットは座標 (0,0) のグリッドから移動を開始できます。ロボットは一度に 1 つのグリッドを左、右、上、または下に移動できますが、行と列の座標の合計が K より大きいグリッドには入ることができません。ロボットが移動できるグリッドの合計数と移動軌跡を求めます。 この記事では、この問題の解決策を紹介します。興味のある開発者は、ぜひこの記事をお読みください。 実装のアイデアマトリックス内のパスの検索に関する前回の記事では、バックトラッキング アルゴリズムを使用してマトリックス内のグリッドにアクセスする方法を学びました。この記事で説明する問題は、グリッドにアクセスする前に判断のレイヤーを作成します。条件が満たされている場合は入力できますが、そうでない場合は入力できません。 私たちが下すべき判断は、訪問するグリッドの座標の桁の合計を計算することです。それが K (最大アクティビティ範囲) より大きい場合、訪問できません。 桁の合計: 数値内の各位置の値の合計と値の合計。たとえば、19 の数字の合計は 1 + 9 = 10 です。 現在のグリッドが訪問されたかどうかを判定するまず、ロボットがこのグリッドまで歩いたかどうかを示すために、元の行列と同じサイズの行列を作成する必要があります。 js では指定サイズの 2 次元配列を直接作成することはできません。作成の考え方は以下のとおりです。
グリッドにアクセスできるかどうかを判断するグリッドにアクセスするときは、アクセスするグリッドがアクセス可能かどうかを判断する必要があります。行座標と列座標の合計を計算し、それらを合計して、結果がロボットの最大動作範囲 (K) より大きいかどうかを判断する必要があります。 数字の合計を計算する方法は 2 つあります。
ロボットを動かし始めるロボットを動かすときには、次の 7 つのパラメータが必要です。
まず、境界条件の判定(再帰終了条件)を行う必要があります。条件が満たされた場合、グリッドにアクセスできず、トラバース可能なグリッドは 0 であることを意味します(直接 0 を返します)。
上記の条件がすべて満たされている場合、現在のグリッドにアクセスできることを意味します。現在のグリッドの値はアクションの軌跡に保存され、現在のグリッドは訪問済みとしてマークされ、歩いたグリッドの数 + 1 になり、現在のグリッドの他の 4 方向のグリッドに入ることができるかどうかを再帰的に確認します。 再帰スタックがクリアされると、ロボットが進入できるグリッドの合計数とその移動軌跡が取得されます。 実装コード次に、上記のアイデアを TypeScript コードに変換します。 グリッドは関数を入力できますか?まず、現在のグリッドに入ることができるかどうかを判断する関数の実装を見てみましょう。
ロボット移動機能ロボットを指定されたグリッドに移動するためのコードは次のとおりです。
主な機能最後に、以下に示すように、メイン関数の実装を見てみましょう。
完全なコードについては、Backtracking.ts#L80 をご覧ください。 テストケースの作成次に、上記のコードが正しく実行できるかどうかを確認するために、以下に示すように行列を作成します。
実行結果は次のとおりです。 |
<<: 交通分野における人工知能、ビッグデータ、その他の技術の応用に関する簡単な議論
2016年頃から、中国では人工知能への注目が高まり続けた。インターネット大手のテンセントは同年にAI...
今日では、かつてないほど多くのデータが生成されています。データ分析ツールの発達により、あらゆる分野の...
未来の建築: AIが新たな現実を構築する人工知能 (AI) は、未来的な概念という見せかけを超えて、...
強化学習では、報酬と罰のメカニズムを使用してエージェントをトレーニングします。エージェントは正しい行...
「フェイクニュース」という言葉が今話題になっているが、ディープフェイク(本物に見えるが実は偽の動画を...
AIが描く人物をよりリアルにするため、香港中文大学の博士課程の学生たちは3億4000万枚の画像を使っ...
[[286342]]本論文では、バウンディング ボックス回帰に基づく効率的なポイント クラウド イ...
ハリー・ポッターの世界では、組分け帽子は生徒の行動履歴、好み、性格に関するデータを取得し、そのデータ...
人工知能が人間の生活と市場に与える影響は計り知れません。世界経済統計によると、人工知能は2030年ま...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
テキストガイドによるビデオツービデオ (V2V) 合成は、短編ビデオの作成や映画業界全体など、さまざ...
[[396563]] 2021年4月27日IBM Cloud Paks コミュニティ リリースここに...