コード例 #1
0
ファイル: Program.cs プロジェクト: riki48/Algorithms
        public int HorizontalSearch()        // Горизонтальный обход и поиск минимального листа,задание 5
        {
            int min = int.MaxValue;
            Queue <BinaryTree> queue = new Queue <BinaryTree>();
            var tmp = this;

            queue.Enqueue(tmp);
            while (queue.Count != 0)
            {
                var elem = queue.Dequeue();
                if (elem.left == null && elem.right == null && data < min)
                {
                    min = elem.data;
                    continue;
                }
                if (elem.left != null)
                {
                    queue?.Enqueue(elem.left);
                }
                if (elem.right != null)
                {
                    queue?.Enqueue(elem.right);
                }
            }
            return(min);
        }
コード例 #2
0
ファイル: Solution.cs プロジェクト: and85/leetcode
 /** Record a hit.
     @param timestamp - The current timestamp (in seconds granularity). */
 public void Hit(int timestamp)
 {
     _timestamps.Enqueue(timestamp);
 }