Binary Search Tree Iterator in LeetCode
問題
Binary Search Treeにおけるイテレータを実装する問題。next()メソッドで取得できる値は現時点での最小値となる。
Binary Search Tree Iterator - LeetCode
ソースコード
House robber ⅲ in LeetCode
問題
2分木が与えられる。ノードは数値を持っていて以下の条件で数値の和が最大の値を見つける問題。
条件
- 直接つながれている隣同士のノードは取る事ができない。
解き方
それぞれのノードについて、そのノードの値を和に含めるか否かの2パターンを試し、最大値となる和を取得する。その際、同じ条件での探索が複数存在するのでメモ化することで計算量を抑えることができる。
ソースコード
My Simple and Clear Java Solution With Using Memoization | LeetCode Discuss
Serialize and Deserialize BST in LeetCode
Insert Delete GetRandom O(1) - Duplicates allowed
問題
通常のHashTableの機能に加え、テーブル内の要素をランダムで返すメソッドを実装されているデータ構造を作る。データ構造内の要素は重複が許されており、重複した要素の数はランダムな要素を返す関数に影響する。