leetcode 382リンクされたリストランダムノード

1つの問題

単一リンクリストを与え、保証するために、ノードのランダムな値を返し、その選択された各ノードに対して同じ確率。

未知の長さのリストは、非常に大きくなる可能性があります。

試験方法2

ノード統計的頻度は、各ノードのために選択され、戻り値が1000で、単鎖10です。周波数が各ノードに対して選択される参照して1/10近接していません。

3 Javaベースの乱数生成java.util.Randomの

ランダム()は、新しい乱数ジェネレータを作成します。

INT nextInt(INTバウンド)、結合した、0との間で発生する整数)、INT内の各セクションについて同じ確率を生成します。

nextInt(10)は、10の数、これら10桁の各々の同じ数を生成する確率である{0、1、2、3、4、5、6、7、8、9}を生成します。

4リザーバサンプリング、貯蔵サンプリング

これは、問題のデータストリームの大きいランダムサンプルである、すなわち、すべてのデータ・メモリは、kはランダムに未知のサイズのストリームからデータを選択する方法、ロードできない場合に、各確率に対して同じデータことを保証するように選択されます。

 

おすすめ

転載: www.cnblogs.com/hustdc/p/10948151.html