Loading...
duratsia avatar duratsia 20 Точки

[8 Lab Arrays & Matrices] Sum Last K Numbers Sequence

Здравейте колеги! Не мога да разбера решението на тази задача. Особенно този ред "let start = Math.max(0, current - k);"

Какво правят  променливите start, and, sum

Гледай задачата тук https://pastebin.com/gA1073LT

 

Ще споделете ли решението с малко пояснения?smiley

Благодаря!

 

 

Тагове:
1
JavaScript Fundamentals
kristina111 avatar kristina111 59 Точки

Ето моето решение.

Малко обяснения: 

- в условието пише, че първият елемент от масива винаги е 1, затова създавам променлива outputArr да е масив с един елемент, който е числото 1;

- допълвам масива до подадената ни от входа дължина с for-цикъл, като всеки следващ елемент е равен на резултата от функция, която връща сумата на последните к на брой елементи от outputArr масива;

- функцията sumLastK(arr, k) приема outputArr масива и к (броят последни елементи от масива, които трябва да се съберат):

     - за стойността на к - проверявам дали к < от дължината на масива - ако е по-малка от дължината на масива, си остава със своята стойност, ако не, става равна на дължината на масива (ако я няма тази проверка, връща undefined за индекс от масива, който не съществува);

     - сумата на послените елементи намирам с for-цикъл, който въртя от let i = 1 до к, като индексът на всеки от елементите, които добавям в сумата, е дължината на масива минус i (така започвам от последния елемент и вървя назад по елементите на масива).

0
06/06/2017 23:07:30
duratsia avatar duratsia 20 Точки

Благодаря ти за отговор!

0
georkom avatar georkom 8 Точки

  С '' let start = Math.max(0, current - k); " освен че намираме началната позиция, от която да започне сумирането на елементите от редицата при образуването на нов елемент, си осигуряваме тази позиция да е в рамките на редицата. А  sum, всъщност, е новообразувания елемент на редицата.

  След 50:00 мин. на това видео има обяснение:

https://softuni.bg/trainings/resources/video/10399/video-screen-29-september-2016-svetlin-nakov-js-fundamentals-september-2016

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.