Skip to content

Latest commit

 

History

History
66 lines (49 loc) · 1.76 KB

File metadata and controls

66 lines (49 loc) · 1.76 KB

Task 3. Групиране на елементи (Medium)

HackerRank link

Statement:

Използвайте даденият клас SinglyLinkedList и реализирайте в него функцията void group(int startPos, int endPos), която сумира елементите между подадените две позиции (включително позициите) и ги замества в масива със сумата им. (

Пример

При списък 1, 2, 3, 4, 5, 6, 7, 8, 9 и group(2, 4) получаваме списък 1, 2, 12, 6, 7, 8, 9

Ако позициите не са валидни, операцията не се изпълнява, а на стандартния изход се принтира fail_grouping.

Input Format

Входът на функцията са две цели числа, които указват начална и крайна позиция за групиране.

Constraints

Функцията следва да работи за списък с милион елемента.

Output Format

Функцията променя списъка и не връща резултат (но принтира на стандартния изход, ако индексите не са добри). Цялата програма връща сравнително сложен резултат за тестови цели.


Sample Input 0

4
5
add 1 0
add 2 0
add 3 0
group 0 0
print
5
add 1 0
add 2 0
add 3 0
group 0 1
print
5
add 1 0
add 2 0
add 3 0
group 0 2
print
5
add 1 0
add 2 0
add 3 0
group 0 3
print

Sample Output 0

3#2#1#
5#1#
6#
fail_grouping3#2#1#