[スウィフト] LeetCode1146スナップショット配列|。スナップショットの配列

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
]➤[マイクロチャンネル公共数:シャンウィングチー( shanqingyongzhi)
➤ブログパークアドレス:サンチンウィングチー(https://www.cnblogs.com/strengthen/
➤GitHubアドレス:https://github.com/strengthen/LeetCode
元のアドレス➤:HTTPS:// WWW。 cnblogs.com/strengthen/p/11297779.html 
アドレスがリンクブログパーク龍シャンカイはない場合➤、それは記事の著者をクロールすることができます。
➤テキストは、更新を変更されました!元のアドレスが読むことを強く推奨クリック!サポート作者!オリジナルをサポートしています!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

次のインタフェースをサポートしていSnapshotArrayを実装します。

  • SnapshotArray(int length) 与えられた長さの配列のようなデータ構造を初期化します。最初は、各要素は0に等しいです。
  • void set(index, val) 所与の要素を設定すること  index に等しくなります  val
  • int snap() 配列のスナップショットを取得して返します  snap_id:私たちは呼ばれた回数の合計  snap() マイナス  1
  • int get(index, snap_id) 一定の値を返します。  index私たちは与えられたとのスナップショットを取った時点で、 snap_id

例1:

入力:[ "SnapshotArray"、 "セット"、 "スナップ"、 "セット"、 "取得"] 
[[3]、[0,5]、[]、[0,6]、[0,0]] 
出力[NULL、0、NULL、NULL、5] 
説明:
SnapshotArray snapshotArr =新しいSnapshotArray(3)。3と長さを設定// 
snapshotArr.set(0,5)。//設定配列[0] 5 = 
snapshotArr.snapは(); //、スナップショットを取るsnap_id = 0を返す
(0,6)をsnapshotArr.setを。
snapshotArr.get(0,0)。// snap_id = 0の配列[0]の値を取得し、5を返します

制約:

  • 1 <= length <= 50000
  • せいぜい  50000 呼び出しに行われる  set、  snapと  get
  • 0 <= index < length
  • 0 <= snap_id < (私たちは呼んで合計回数  snap()
  • 0 <= val <= 10^9

実装は、次のインターフェイススナップショット・アレイ「をサポート - SnapshotArrayを:

  • SnapshotArray(int length) - クラスの指定された配列の長さに相当するデータ構造を初期化します。最初に、各要素はゼロに等しいです。
  • void set(index, val) -インデックス指定されます  index セットの要素を  val
  • int snap() -アレイのスナップショットを取得し、スナップショットの数を返す  snap_id(コールするスナップショットの数が  snap() 総数マイナス  1)。
  • int get(index, snap_id) -指定に応じて  snap_id スナップショットを選択して、スナップショットは、指定されたインデックス戻り  index 値。

例:

入力:[ "SnapshotArray"、 "SET"、 "SNAP"、 "SET"、 "GET"] 
     [。[3]、[0,5]、[]、[0,6]、[0,0]] 
出力[NULL、NULL、0、 NULL、5] 
説明:
SnapshotArray snapshotArr =新しい新しいSnapshotArray(3); //長さのスナップショットアレイ3初期化
snapshotArr.set(0,5); //アレイを作る[0] = 5 
snapshotArr.snap(); //スナップショットを取る、返しsnap_id = 0 
snapshotArr.set(0,6); 
snapshotArr.get(0,0); //配列にスナップショットsnap_id = 0の値を取得[0]、及び5を返します。

ヒント:

  • 1 <= length <= 50000
  • トピックはほとんどなかった50000 時代setsnapそして  get通話。
  • 0 <= index < length
  • 0 <= snap_id < 私たちは、呼び出し  snap() の合計数を
  • 0 <= val <= 10^9

おすすめ

転載: www.cnblogs.com/strengthen/p/11297779.html