11. *Array manipulator: solved with List
Здравейте, може ли малко помощ за тази задача- Array Manipulator от упражнението за "Методи"? Дори и без човек да гледа кода ми мисля, че би могъл да ми помогне, като ме насочи към случаите, които тряба да тествам. Тествах всякак, както инпута и Judge ми подсказват. Тествах и всяка една команда по отделно и изглежда, че работят, но точките са 70/100: тест 3, 6 и 10 са ми неправилни според Judge.
Възможно ли е някой от админите или колега с по-висок рейтинг да има достъп до инпутите на тестовете 3,6 и 10? Ако има такъв човек, то моля ако има време поне да ми каже инпутите на тези тестове за да тествам с тях и да разбера къде ми гърми. Благодаря!
Ето все пак и кода ми, ако някой има време да погледне: https://pastebin.com/fZS4nHTf
Judge: https://judge.softuni.bg/Contests/Practice/Index/1209#10
И вярвам, че ще надъхам някои от колегите ми да решат задачата с лист, тъй като е доста по-приятно в сравнение с масив. А и все пак тази задача е давана на изпит, като трета задача, а за третите задача от изпитите е известно, че се препоръчва да се решат с лист. :)
Trifon has finally become a junior developer and has received his first task. It’s about manipulating an array of
integers. He is not quite happy about it, since he hates manipulating arrays. They are going to pay him a lot of
money, though, and he is willing to give somebody half of it if to help him do his job. You, on the other hand, love
arrays (and money) so you decide to try your luck.
The array may be manipulated by one of the following commands
exchange {index} – splits the array after the given index, and exchanges the places of the two resulting sub-
arrays. E.g. [1, 2, 3, 4, 5] -> exchange 2 -> result: [4, 5, 1, 2, 3]
o If the index is outside the boundaries of the array, print “Invalid index”
max even/odd– returns the INDEX of the max even/odd element -> [1, 4, 8, 2, 3] -> max odd -> print 4
min even/odd – returns the INDEX of the min even/odd element -> [1, 4, 8, 2, 3] -> min even > print 3
o If there are two or more equal min/max elements, return the index of the rightmost one
o If a min/max even/odd element cannot be found, print “No matches”
first {count} even/odd– returns the first {count} elements -> [1, 8, 2, 3] -> first 2 even -> print [8, 2]
last {count} even/odd – returns the last {count} elements -> [1, 8, 2, 3] -> last 2 odd -> print [1, 3]
o If the count is greater than the array length, print “Invalid count”
o If there are not enough elements to satisfy the count, print as many as you can. If there are zero
even/odd elements, print an empty array “[]”
end – stop taking input and print the final state of the array
Examples
Input
1 3 5 7 9
exchange 1
max odd
min even
first 2 odd
last 2 even
exchange 3
end
Output
2
No matches
[5, 7]
[]
[3, 5, 7, 9, 1]
Input
1 10 100 1000
max even
first 5 even
exchange 10
min odd
exchange 0
max even
min even
end
Output
3
Invalid count
Invalid index
0
2
0
[10, 100, 1000, 1]