我有一個很長的數字串列(1000 ),它是整數和浮點數的混合(所以 1.3 和 2.5 但也有 3 或 5)。
一般來說,它們應該遵循從最大到最低的遞減模式。
但是有一些害群之馬違反了這個規則,我想找到它們。
這是我的清單的一部分:
list = [100.242, 95, 94.3, 96, 65.5, 67.7, 51.25, 43, 23.99] # 96 and 67.7 are bad actors
現在,我需要創建一個函式來挑選出那些錯誤的數字并將它們放入我可以列印的串列中。
知道怎么做嗎?
uj5u.com熱心網友回復:
Enum.reduce/3 總是能解決這些問題
Enum.reduce(list, {[], []}, fn
e, {[], []} -> {[e], []}
e, {[h|t], ko} when e > h -> {[h|t], [e|ko]}
e, {ok, ko} -> {[e|ok], ko}
end)
#? {[23.99, 43, 51.25, 65.5, 94.3, 95, 100.242], [67.7, 96]}
簡單的遞回也可以完美地作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/387610.html
上一篇:確定哪些串列滿足要求的演算法
下一篇:陣列旋轉Leetcode#189
