mirror of
https://gitlab.com/mfocko/LeetCode.git
synced 2024-11-10 00:09:06 +01:00
chore(cs): format
Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
parent
09d5c6dc4e
commit
4763cdbdda
4 changed files with 63 additions and 75 deletions
|
@ -1,10 +1,8 @@
|
||||||
public class TreeNode
|
public class TreeNode {
|
||||||
{
|
|
||||||
public int val;
|
public int val;
|
||||||
public TreeNode? left;
|
public TreeNode? left;
|
||||||
public TreeNode? right;
|
public TreeNode? right;
|
||||||
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null)
|
public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null) {
|
||||||
{
|
|
||||||
this.val = val;
|
this.val = val;
|
||||||
this.left = left;
|
this.left = left;
|
||||||
this.right = right;
|
this.right = right;
|
||||||
|
@ -12,40 +10,32 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class Solution
|
public class Solution {
|
||||||
{
|
private class Level {
|
||||||
private class Level
|
|
||||||
{
|
|
||||||
long sum;
|
long sum;
|
||||||
int counter;
|
int counter;
|
||||||
|
|
||||||
public Level()
|
public Level() {
|
||||||
{
|
|
||||||
sum = 0;
|
sum = 0;
|
||||||
counter = 0;
|
counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Add(int x)
|
public void Add(int x) {
|
||||||
{
|
|
||||||
sum += x;
|
sum += x;
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double Average
|
public double Average {
|
||||||
{
|
|
||||||
get => sum / (double)counter;
|
get => sum / (double)counter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Level> AverageOfLevels(List<Level> averages, TreeNode? node, int level)
|
private List<Level> AverageOfLevels(List<Level> averages, TreeNode? node, int level) {
|
||||||
{
|
if (node == null) {
|
||||||
if (node == null)
|
|
||||||
{
|
|
||||||
return averages;
|
return averages;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level == averages.Count)
|
if (level == averages.Count) {
|
||||||
{
|
|
||||||
averages.Add(new Level());
|
averages.Add(new Level());
|
||||||
}
|
}
|
||||||
averages[level].Add(node.val);
|
averages[level].Add(node.val);
|
||||||
|
@ -59,12 +49,10 @@ public class Solution
|
||||||
public IList<double> AverageOfLevels(TreeNode? root)
|
public IList<double> AverageOfLevels(TreeNode? root)
|
||||||
=> AverageOfLevels(new List<Level>(), root, 0).Select(level => level.Average).ToList();
|
=> AverageOfLevels(new List<Level>(), root, 0).Select(level => level.Average).ToList();
|
||||||
|
|
||||||
public static void Main()
|
public static void Main() {
|
||||||
{
|
|
||||||
var s = new Solution();
|
var s = new Solution();
|
||||||
|
|
||||||
foreach (var a in s.AverageOfLevels(new TreeNode(3, new TreeNode(9), new TreeNode(20, new TreeNode(15), new TreeNode(7)))))
|
foreach (var a in s.AverageOfLevels(new TreeNode(3, new TreeNode(9), new TreeNode(20, new TreeNode(15), new TreeNode(7))))) {
|
||||||
{
|
|
||||||
Console.Write($"{a} ");
|
Console.Write($"{a} ");
|
||||||
}
|
}
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
|
|
Loading…
Reference in a new issue