「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > K乗算操作後の最終配列状態i

K乗算操作後の最終配列状態i

2025-02-04に公開
ブラウズ:829

Final Array State After K Multiplication Operations I

3264。 K乗算操作の後の最終配列状態i

難易度: easy

トピック:アレイ、数学、ヒープ(優先キュー)、シミュレーション

整数配列nums、整数K、および整数乗数が与えられます。

numsでk操作を実行する必要があります。各操作で:

  • numsで最小値xを見つけます。最小値の複数の発生がある場合は、 first
  • に表示される値を選択します。
  • 選択した最小値xをx *乗数に置き換えます。

すべてのk操作を実行した後、numsの最終状態を示す整数アレイをreturn

例1:

  • 入力: nums = [2,1,3,5,6]、k = 5、乗数= 2
  • output: [8,4,6,5,6]
  • 説明:
|操作|結果|

| ------------------ | ------------------ |
|操作後1 | [2、2、3、5、6] |
|操作後2 | [4、2、3、5、6] |
|操作3 | [4、4、3、5、6] |
|操作後4 | [4、4、6、5、6] |
|操作後5 | [8、4、6、5、6] |

例2:

  • 入力: nums = [1,2]、k = 3、乗数= 4
  • output: [16,8]
  • 説明:
|操作|結果|

| ------------------ | ------------------ |
|操作後1 | [2、2、3、5、6] |
|操作後2 | [4、2、3、5、6] |
|操作3 | [4、4、3、5、6] |
|操作後4 | [4、4、6、5、6] |
|操作後5 | [8、4、6、5、6] |

制約:

    1 1 1 1

ヒント:

    ソート付きペア(nums [index]、index)を優先キューに維持します。
  1. 操作k時間をシミュレート。

解決:

問題ステートメントに記載されているように、操作を実装する必要があります。重要な手順は、配列内の最小値を見つけ、指定された乗数を掛けた値に置き換えてから、このプロセスを繰り返すことです。

最小値の最初の発生を選択して置き換える必要があるため、各操作中に最小値のインデックスを追跡することでこれにアプローチできます。 PHP実装では、優先キュー(MIN-HEAP)を使用して、各操作中に最小値を効率的に取得および更新します。

このソリューションをphp:

3264に実装しましょう。 K乗算操作後の最終配列状態i


説明:

  1. 初期化:k操作を実行する必要があるため、ループk時間。
  2. 最小値を見つけます:
      アレイnumsを繰り返して、最小値とその
    • first ocurrence index を見つけます。
  3. 最小値を掛ける
      識別されたインデックスの値を、現在の値と乗数の積に置き換えます。
  4. 繰り返す
      k反復のために上記の手順を繰り返します。
  5. 最終配列を返します。
      すべての操作の後に変更された配列を返します。
テスト出力

提供されたテストケースの場合:

テストケース1:

入力:


$ nums = [2、1、3、5、6]; $ k = 5; $ Multiplier = 2;

出力:


出力:[8、4、6、5、6]

テストケース2:

入力:


$ nums = [1、2]; $ k = 3; $ Multiplier = 4;

出力:


出力:[16、8]

複雑

  1. 時間の複雑さ

      k操作のそれぞれについて、配列の最小値を見つけるにはo(n)が必要です。
    • 合計:
    • o(k x n) 、ここで、 n は配列のサイズです。
  2. スペースの複雑さ

    ソリューションは
    • o(1) 余分なスペースを使用します。
  3. このソリューションは制約を順守し、すべてのテストケースに期待される結果を提供します。

連絡先リンク

このシリーズが役立つとわかった場合は、

リポジトリ

をgithubでスターにするか、お気に入りのソーシャルネットワークの投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味があります! このようなもっと役立つコンテンツが必要な場合は、私にフォローしてください:

    linkedin
  • github
リリースステートメント この記事は、https://dev.to/mdarifulhaque/3264-final-rray-state-after-k-multiplication-operations-i-4l5bに再現されています。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3