Arrays Advanced-Exercise
Здравейте, на задачата Arrays Advanced-Exercise judge ми дава 60 точки и си нямам на идея къде бъркам.
Ето го и кода: https://pastebin.com/LQ7m7rwj
Благодаря предварително!
Здравейте, на задачата Arrays Advanced-Exercise judge ми дава 60 точки и си нямам на идея къде бъркам.
Ето го и кода: https://pastebin.com/LQ7m7rwj
Благодаря предварително!
Здравей,
Има две главни грешки:
1. Не следиш дали няма да излезнеш от масива при splice.
- Ако подадеш стойност на функцията негативно число, то ще бъде прието като индекс отзад-напред в масива.
- Ако подадеш индекс, който е по-голям от последния в масива, нищо няма да бъде изтрито.
2. Не се грижиш и да променяш стойността на брояча в главния цикъл.
Няма смисъл да поправям решението ти. Заради сложния начин, по който си подходил са се получили и грешките. Затова може да го опростим:
1. Функцията splice може да приема стартов индекс и колко елемента да бъдат премахнати. Затова трябва просто да сметнем тези две неща, като гледаме да не излезнем от масива.
- За стартовия индекс- това е текущия индекс минус силата, ако стане отрицателно число трябва да вземем 0
- За крайния индекс- това е текущия индекс плюс силата, ако стане по-голямо от максималния индекс трябва да вземем максималния индекс
- За броя на елементите- това е разликата между крайния и стартовия индекс, като добавяме единица за да се вземе диапазона включително.
- За да оправим брояча слагаме стойност на стартовия индекс минус 1, при следващата итерация ще сме на правилния елемент.
Много благодаря за отговора и затова, че отделихте време да ми помогнете! Аз имам навика да си усложнявам задачите хаха. Иначе разбрах решението, за което благодаря отново!