Я относительно новичок в JavaScript и пытаюсь улучшить, поэтому я практиковал и решает некоторые сложные вопросы по CodeFights, это ссылка: https://codefights.com/challenge/5woihS52FBamZvyYg (Я не хотел, чтобы копировать проблему все путь сюда)Анализ игрового алгоритма
Я пробовал пару раз, но не смог, тогда я сдался и начал ждать времени, чтобы увидеть решения.
Это один является кратчайшим решением для JavaScript:
/* CREDITS TO "sinpamov" */
function target_game(a) {
b = t = 0
for (i in a) {
c = b + a[i]
b = t
t = c > t ? c : t
}
return t
}
Конечно, автор пытался сократить все, чтобы получить самое короткое решение, я получить его. У меня нет проблем с пониманием синтаксиса здесь. Но семантически ... Я не понимаю, как работает этот алгоритм и как его анализировать. Я был бы признателен за каждое кристально чистое объяснение, спасибо заранее!
Может быть, я выбрал неправильные слова, чтобы объяснить себе. Я понимаю, что делает каждая строка кода, и я могу отслеживать каждую переменную. Я не понимаю, почему. Почему этот код дает оптимальный результат? Как это устроено? Например, почему кодер написал 'c = b + a [i]'? Какова логика и мышление? – Motun