Condense Array to Number
Reads an array of integers and condense them by summing adjacent couples of elements until a single integer is obtained:
2 10 3 2 4 1 2 5 0 4 1 2
12 13 6 5 3 5 4 5 3
25 11 8 9 9 8
19 18 17
35
int[] nums = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
while (nums.Length > 1)
{
int[] condensed = new int[nums.Length - 1];
for (int left = 0; left < nums.Length - 1; left++)
{
for (int right = left+1; right < nums.Length; right++)
{
var sum = nums[left] + nums[right];
condensed[sum] = sum;
nums = condensed;
}
}
}
Console.WriteLine(nums[0]);
Това е една от задачите за домашно, Не мога да съставя правилно алгоритъма по който да събира числата. Ще се радвам, ако ударите едно рамо ! ;)
Страхотно решение, помогна ми да реша проблема ми с намаляването на масива само до 1 число в него.
Моето решение е подобно, но в последното влизане в цикъла винаги ми оставаха 2 числа в масива.
Видях как мога да го оптимизирам, а именно като вкарам temp.array вътре в цикъла а не извън него.
Споделям и моето решение(100/100 в judge - макар и не максимално каквото се изиска от задачата).
https://pastebin.com/qyHuu05m