Взяте з цього питання в Stack Overflow. Дякуємо також @miles та @Dada за те, що вони запропонували тестові матеріали, які стосуються деяких кутових випадків.
Змагання
Давши масив цілих значень, видаліть усі нулі, які не є фланковими деяким ненульовим значенням.
Еквівалентно, запис слід зберігати або, якщо він є ненульовим, або якщо це нуль, який знаходиться поблизу від ненульового значення.
Записи, що зберігаються, повинні підтримувати у висновку порядок, який вони мали у введенні.
Приклад
Дано
[2 0 4 -3 0 0 0 3 0 0 2 0 0]
значення, які слід видалити, позначаються символом x:
[2 0 4 -3 0 x 0 3 0 0 2 0 x]
і тому вихід повинен бути
[2 0 4 -3 0 0 3 0 0 2 0]
Правила
Вхідний масив може бути порожнім (і тоді вихід також повинен бути порожнім).
Формати введення та виведення є гнучкими, як зазвичай: масив, список, рядок або будь-що, що є розумним.
Код гольфу, найменший кращий.
Тестові справи
[2 0 4 -3 0 0 0 3 0 0 2 0 0] -> [2 0 4 -3 0 0 3 0 0 2 0]
[] -> []
[1] -> [1]
[4 3 8 5 -6] -> [4 3 8 5 -6]
[4 3 8 0 5 -6] -> [4 3 8 0 5 -6]
[0] -> []
[0 0] -> []
[0 0 0 0] -> []
[0 0 0 8 0 1 0 0] -> [0 8 0 1 0]
[-5 0 5] -> [-5 0 5]
[50 0] -> [50 0]
-0?
[010 0 0 01 1]?
_2замість-2? Досить декілька мов використовують цей формат.