improved time complexity from exponential to linear time
This commit is contained in:
@@ -11,17 +11,23 @@ public class Lobby : IAdventSolution
|
|||||||
var total = 0;
|
var total = 0;
|
||||||
foreach (var line in lines)
|
foreach (var line in lines)
|
||||||
{
|
{
|
||||||
var max = 0;
|
var first = '0';
|
||||||
|
var second = '0';
|
||||||
for (var i = 0; i < line.Length; i++)
|
for (var i = 0; i < line.Length; i++)
|
||||||
{
|
{
|
||||||
for (var j = i + 1; j < line.Length; j++)
|
if (i != line.Length - 1 && line[i] > first)
|
||||||
{
|
{
|
||||||
var num = int.Parse(line[i].ToString() + line[j].ToString());
|
first = line[i];
|
||||||
if (num > max) max = num;
|
second = line[i + 1];
|
||||||
|
}
|
||||||
|
else if (line[i] > second)
|
||||||
|
{
|
||||||
|
second = line[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
total += max;
|
|
||||||
|
|
||||||
|
total += int.Parse($"{first}{second}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return new AdventSolution(total.ToString(), null);
|
return new AdventSolution(total.ToString(), null);
|
||||||
|
|||||||
Reference in New Issue
Block a user