★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
]➤[マイクロチャンネル公共数:シャンウィングチー( 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
時代set
、snap
そしてget
通話。 0 <= index < length
0 <= snap_id <
私たちは、呼び出しsnap()
の合計数を0 <= val <= 10^9