Въпрос по условието на зад.6 от C#2 :Arrays


0
Още един въпрос по условието на задача от домапното:
зад.6:
"Write a program that reads two integer numbers N and K and an array of N elements from the console. Find in the array those K elements that have maximal sum"

В учебника, в условието е уточнено, че К са поредни елементи.
И тук ли е така?



Отговори



0

К е брой елементи (един два три..) и като цяло те съветвам да търсиш вече съществуващи теми и ако няма такива чак тогава да създаваш нова тема : 

http://forums.academy.telerik.com/49019/c%23-arrays-6-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0


от dzhenko (3893 точки)


0
Че току виж станал нов лидер на знаменосците :)


0
Линкът е към друга задача, но няма значение. Повечето теми са как са решени задачите, а аз не искам да се повлиявам от чужди решения. Или пада яко четене (някои теми имат по 10-тина страници) и евентуално нещо по въпроса. Конкретно моето питане като тема го няма. А от отговорът ти-"К е брой елементи (един два три..)..." пак не ми стана ясно последователни ли са, или произволно разхвърляни К-броя?

от b_ivanov (53 точки)



1
Здрасти. Поредни трябва да са. Иначе започва да става дума за подмножества, използване на побитови операции и става сложно :)

от wooden_jesus (2128 точки)


0
Благодаря. Кратко и ясно.

от b_ivanov (53 точки)

0
нищо сложно не става и няма смисъл от подмножества. Просто масива се сортира и се взимат К на брой най-големи елементи - това ще е най-голямата сума. Ако са поредни елементи пък се прави с два вложени цикъла - и в двата варианта на тълкуване на тази задача решенията са лесни от алгоритмична гледна точка :“

от wnvko (3123 точки)


1
Условието в презентацията не изисква елементите да са поредни.
В този случай една идея за решение е, че максималната сума се получава като изберем най-големите К елемента. Т.е. сортираме масива и избираме първите К най-големи елемента.

от elfoles (434 точки)


0
Просто го направи за К последователни елементи, ако ти проработи кода слагаш един ред Array.Sort и пускаш предното решение да мине още един път да търси последователните К на брой елементи и така всички ще са доволни :)