我想知道数组中的元素在不变的情况下是否按顺序排列。到目前为止,我所拥有的
arr=[4,2,3,1]
arr2=[3,8,1,7]
Enum.each arr2, fn(x) ->
end如果它是按顺序排列的,我希望打印为true。在这种情况下,这是真的,因为arr1是按顺序排列的。Arr2将打印false,因为它不是按顺序排列的。我一直在努力弄清楚这一点,因为长生不老药中没有循环。
发布于 2021-03-18 06:03:55
尝尝这个
Enum.sort(mylist) == mylist发布于 2021-03-19 19:47:12
你可以通过编写你自己的简短的递归函数来处理它,例如:
def check([_x]), do: true
def check([head | tail]) do
if head < hd(tail), do: check(tail),
else: false
end我非常确定它甚至可以比这个更短/更简单:)只需在其中传递列表(请记住Elixir中没有数组):
list1 = [1,2,3,1,5]
list2 = [1,2,3,4,5]
iex()> check(list1)
false
iex()> check(list2)
true然而,正如Aleksei在其中一条评论中写的那样-尝试自己解决这样的难题是非常有益的;)我推荐在codewars上玩Elixir :)祝你好运!
PS
如果你需要我的实现的解释,请让我知道。
https://stackoverflow.com/questions/66681743
复制相似问题