Всі ми часто чуємо ідіому "пройти через масив", щоб означати "відображення функції на наступний масив". Однак мені це потрібно (зараз!), Тому я хочу, щоб ти пробігся через масив.
Як я бігаю?
Уявіть, що за вами дика зграя вовків
Бігати по масиву - це як ходити по одному, за винятком того, що ви можете пропустити елементи. Так, іноді безладно, але це (загалом) працює. "Які елементи пропущено?", Ви можете запитати. Ну, це робиться навмання. Давайте пройдемося бігом через масив!
- Дозвольте
e
бути поточним елементом. - Нехай
random
генерує випадковий поплавок у[0,1)
. Якщоrandom() < 0.5
ви переходите до наступного елемента, а потім переходите до кроку 1. (Ви можете створити число іншими способами, якщо їх (в ідеалі) однаковий шанс пропустити і залишитися. Наприклад, ви можете використовувати елемент з двочленний набір і виконайте дію на основі результату.) - В іншому випадку, ви виконуєте функцію
f
наe
.
Об'єктивна
З огляду на масив / список / рядок, як будь-який A
і номер K
, запустіть масив, додавши K
до кожного члена, до якого звертається. Виведіть / поверніть цей масив. A
міститиме лише невід'ємні цілі числа, і K
лише колись буде невід'ємними цілими числами. Це кодовий гольф , тому виграє найкоротша програма в байтах.
Тестові приклади (приклади)
K, A => possible K'
[1, 2, 3, 4], 0 => [1, 2, 3, 4]
[1, 2, 3, 4], 1 => [1, 3, 3, 5]
[0, 0, 0, 0], 2 => [2, 0, 0, 2]
x
таке, що 0 ≤ x < 1
.
[0,1)
друкарський помилок? Ще 2…