問題タブ [card]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
263 参照

java - カードゲームの例での貪欲なアルゴリズム

新しいトレーディング カード ゲームをプレイします。あなたとコンピュータはそれぞれカードデッキを持っています。コンピューターがカードを置き、次にあなたがカードを置きます。各カードには強さの値があり、強さの値が高いカードが勝ちます。あなたとコンピュータのカードの強さが同じであれば、コンピュータが勝ちます。あなたはコンピュータのカードを知っています。あなたの目標は、勝利したマキシマイズ カードの強さの値の合計を計算することです。このために、カードとコンピュータのカードを表す 2 つの整数配列を取得します。

カードは [5, 15, 100, 1, 5] です。コンピューターは同じカードを使用するため、[5、15、100、1、5] も使用します。コンピューターが 100 を配置した場合、勝つことはできないため、あなたは自分の 1 を配置します。彼が 15 をレイズした場合、あなたは 100 をレイズし、勝ったことになります。彼が 5 をレイした場合、あなたは 15 をレイします。彼が 2 番目の 5 をレイした場合、レイはあなたの 5 を獲得し、このラウンドに負けます。彼が 1 を出した場合、あなたは 5 番目の合計でカウンターします。120 相当のウィニング カードを獲得できます。

タスク: 合計を計算できる貪欲なアルゴリズムのアイデアを説明してください。ここに画像の説明を入力

私のアルゴリズム: コンピューターがデッキから最大のカード (この場合は 100) を配置するとき、私は最小の数字を 1 に配置します。これを続け、勝ったときに結果を追加します

貪欲なアルゴリズムの別の提案はありますか