摘自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
吗?相当多的语言都使用该格式。