Это мой самый любимый вопрос на собеседовании. Я спрашиваю почти на каждом собеседовании, и менее 1 % кандидатов отвечают идеально.
Итак, в чем вопрос?
Вопрос: Напишите программу для печати выходного массива [-1, 6, 25, 62, 123] для входного массива [1,2,3,4,5]?
Ответ: Это очень простой вопрос для программирования. Сложная часть состоит в том, чтобы определить шаблон, как элемент входного массива преобразуется в элемент выходного массива.
Итак, я надеюсь, что большинство из нас решили эти вопросы в школьные годы.
Давайте проанализируем входной и выходной массив.
Если мы проанализируем, то увидим, что это увеличение каждого элемента по некоторому правилу. А что это за правило, давайте найдем.
1=> 1*1*1–2 = -1
2=> 2*2*2–2 = 6
3=> 3*3*3–2 = 25
4=> 4*4*4–2 = 62
5=> 5*5*5–2 = 123
Итак, какую закономерность мы нашли, каждый элемент умножается трижды сам на себя и вычитается 2.
Теперь программировать очень просто. Мы можем использовать методы for loop, array.map() для получения желаемого результата.
let inputArray = [1,2,3,4,5];
let outputArray = inputArray.map((i)=›(i*i*i-2));
console.log( 'Выходной массив => ',outputArray);
Выходной массив => [ -1, 6, 25, 62, 123 ]