この記事は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 をご覧ください。 テストケースの作成次に、上記のコードが正しく実行できるかどうかを確認するために、以下に示すように行列を作成します。
実行結果は次のとおりです。 |
<<: 交通分野における人工知能、ビッグデータ、その他の技術の応用に関する簡単な議論
ちょうど今、コロンビア大学のシステム生物学助教授であるモハメッド・アルクライシ氏が、AlphaFol...
インテリジェントビジョンは人工知能への扉です。この扉が開かれなければ、人工知能に関する詳細な研究を行...
先日終了した全国人民代表大会と中国人民政治協商会議では、「科学技術イノベーション」という言葉が頻繁に...
[[389144]]今まで見たことのない犬種や色であっても、私たちは一目見てその犬を認識することがで...
[[412426]]今日は、Github 上の非常に強力な JavaScript アルゴリズムとデ...
最近、ChatGPT や Llama のような大規模言語モデル (LLM) がかつてない注目を集めて...
将来、旅行には自動運転車、食事にはプログラムされたスナックストリート、ヘアカットにはロボット理髪師、...
今日、ほぼすべての AI 作業は機械学習の成功に基づいています。機械学習には分析を検討するための十分...
[[185868]]スピーチの基本概念スピーチは複雑な現象です。それがどのように生成され、どのように...
01.人間は日々、環境、社会、他の人々、物と密接に関わっています。このタイプの接続は、一方向、双方...
「この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より転載を許可さ...