我試圖弄清楚如何創建一個只包含一次元素的新列表。我也不能使用遞歸。Haskell - 獲取只發生一次的項目
這是較大功能的一小部分。我試圖寫一個函數來獲得兩套相交。基本上我組合了。然後排序。然後我想把它和B集合起來,擺脫那個集合中的所有重複。除非別人知道更簡單的方法。
我可以使用高階函數,但我不能使用遞歸。
由於
編輯: 示例:
[1,2,3,3,4,4,5,5]應該出來爲[1,2]
我試圖弄清楚如何創建一個只包含一次元素的新列表。我也不能使用遞歸。Haskell - 獲取只發生一次的項目
這是較大功能的一小部分。我試圖寫一個函數來獲得兩套相交。基本上我組合了。然後排序。然後我想把它和B集合起來,擺脫那個集合中的所有重複。除非別人知道更簡單的方法。
我可以使用高階函數,但我不能使用遞歸。
由於
編輯: 示例:
[1,2,3,3,4,4,5,5]應該出來爲[1,2]
這個問題之前已經問過了,基本上你只是想通過計算元素的數量將它們分組在一起,然後只提取一個數。 (可能使用'filter')
想想你會用什麼數據結構來跟蹤每個事物出現的次數。
如何:
concat $ filter (null . tail) $ group [1,2,3,3,4,4,5,5]
這個問題被標記爲家庭作業,所以他可能需要更多的提示而不是別人來解決他 – Daenyth 2010-09-28 02:42:56
如果我可以使用組,你是個天才。 – Matt 2010-09-28 02:43:06
@Daenyth是的,但做功課的第一部分是做你的研究。我想表明,也許再多一點時間搜索就能找到答案。 – 2010-09-28 03:42:43