我正在比较多个数组中的值。
我想标记在同一数组中同时具有“零”和“非零”的值。出于某种原因,我被卡住了。
以下是测试用例/场景:
1. zero and zero => ignore
2. non-zero and non-zero => ignore
3. zero and non-zero => this is what we are after!
4. only zero => ignore
5. only non-zero => ignore
到目前为止,这是我的代码:
def unique_with_zero?(*arr)
arr.uniq!
arr.sort!
if arr.size == 1
print 'ignore: ', arr, "\n"
end
if arr.size > 2
print 'candidate: ', arr, "\n"
end
end
#test cases
unique_with_zero?(30,20,40) #false
unique_with_zero?(111,0,500) #true - zero and other non-zero values
unique_with_zero?(1,1,3,1) #false
unique_with_zero?(0) #false - we need multiple values
unique_with_zero?(1) #false
unique_with_zero?(0,0) #false
最佳答案
array.any?(&:zero?) && array.uniq.length > 1
关于ruby - 识别零和非零场景 - 具有特殊含义的一个值(零),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31550500/