K回の反転後の配列の最大合計 LeetCode の問題へのリンク: https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/ 整数の配列 A が与えられた場合、配列を変更する方法は次のとおりです。インデックス i を選択し、A[i] を -A[i] に置き換え、このプロセスを合計 K 回繰り返します。 (同じインデックス i を複数回選択できます。) このように配列を変更すると、配列の最大可能合計が返されます。 例1:
例2:
例3:
ヒント:
アイデアこの質問のアイデアは、実は非常に簡単に考えることができます。配列の合計を最大化するにはどうすればよいでしょうか? 貪欲な思考、局所最適性: 絶対値の大きい負の数を正の数に変換し、現在の値を最大化します。全体的な最適性: 配列全体の合計が最大に達します。 局所最適は全体最適につながる可能性があります。 したがって、すべての負の数を正の数に変換しても、K は依然として 0 より大きくなります。このときの問題は、正の整数の順序付けられたシーケンスであることです。正の数と負の数を K 回変換して、配列の合計を最大化する方法。 次に、別の貪欲なソリューションがあります。ローカル最適ソリューション: 反転する最小の正の整数のみを見つけて、現在の値が最大値に達するようにします (たとえば、正の整数配列 {5, 3, 1} では、1 を反転して -1 を取得することは、5 を反転して -5 を取得するよりもはるかに大きくなります)。グローバル最適ソリューション: 配列全体の合計が最大値に達します。 この問題を解くときに貪欲アルゴリズムについて考えないかもしれませんが、AC を 1 回で取得できます。 私は、見落とされがちな貪欲な考え方についてお見せするためにここにいます。このような単純な質問に対して、私は貪欲という言葉を 2 回も使いました。 この問題を解決するための手順は次のとおりです。
対応する C++ コードは次のとおりです。
要約する貪欲問題が単純化されると、人々は疑問を抱き始めます。「これはこのように行われるべきではないのか?これもアルゴリズムなのか?これは貪欲ではないと思う。」 この問題は実は非常に単純で、貪欲アルゴリズムを知らない人でも解くことができますが、ここでは貪欲アプローチを使用して全体を通して説明します。 欲深い考えは必ず存在するからです! 貪欲な考え方(局所最適、大域最適)を持っていない場合、単純な貪欲な質問を感情に基づいて行い、難しい貪欲な質問をまったく解けないという罠に陥りやすくなります。実際、これでは貪欲な考え方を訓練することはできません。 したがって、たとえそれが貪欲な単純な質問だとわかっていても、それを解くには貪欲な思考に頼らなければなりません。これは問題解決の感覚を養うのに非常に役立ちます。 その他の言語ジャワ
パイソン
行く
ジャバスクリプト
|
<<: APPは顔認識を強制しますか?アカウントをキャンセルできませんか?国は行動を起こしている
>>: 2 つの小型モデルで大型モデルに勝つことができます。北京大学卒業生、Google 中国版第一著者「モデルコレクション」、CNN や Transformer にも応用可能!
10月25日、外国メディアは事情に詳しい関係者の話として、月曜日に「インダストリアル・メタバース」プ...
GPT-3などの超大規模モデルの登場により、コンテキスト内学習も普及してきました。インコンテキスト...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ナレッジグラフは何ができるのでしょうか?ナレッジグラフを自動的かつ効率的に構築するにはどうすればよい...
[[438325]]最近このニュースを見たことがあるだろうか。 「ロボットが赤ちゃんを産みました。...
AI スタートアップとして、OpenAI は歴史上最も急速に成長している企業の 1 つになりました。...
暑い夏がやって来ます。暑さをしのぐには、エアコンをつけてアイスを食べる以外に方法はないでしょうか?も...
[[443046]]人間はAIよりも常識があるとは言えなくなりました!最近、マイクロソフトの黄雪東と...
1 ChatGPT は誰の目にも単なるチャットボット ツールに見えます。質問に答え、テキスト情報を生...
調査では、テクノロジー主導の業界を推進する 2022 年までのビジネス インテリジェンスの主要なトレ...
視覚、聴覚、嗅覚、味覚、触覚は、人間の最も基本的な五感です。その中でも、視覚は極めて重要です。結局の...