3
A
回答
2
即使使用fold_left
工作的其他解決方案,這裏是 「手動編碼」 的解決方案:
let longestsublist l =
(let rec aux l current_max = match l with
| [] -> current_max
| x::xs -> aux xs (max (List.length x) current_max)
in aux l (-1))
4
我與OCaml的相當生疏,但一List.fold_left
應該足夠:
List.fold_left (fun a b -> Pervasives.max a (List.length b)) 0 [[1;2];[1;2;3];[]]
我現在不能對代碼進行測試並且自從我上次使用OCaml(版本3.XX)以來已經很長時間了,所以語法可能有點不同,但是這種方法絕對有效:您通過摺疊函數來獲取當前最大值和當前子列表作爲輸入,它將返回兩者之間的最大值。
+0
你可以嘗試使用elementar操作嗎?我的意思是不使用List.fold_left和List.length? –
+0
您必須定義「基本操作」的含義。如果你不能使用列表模塊,它會引起問題,因爲你正在使用列表。 – nlucaroni
3
這應該工作
List.fold_left (fun current_max l -> max current_max (List.length l)) 0 [[1;2]; [1;2;3]; []]
,您可以嘗試在http://try.ocamlpro.com
相關問題
- 1. OCaml中的遊程長度解碼
- 2. Python中列表的長度?
- 3. Prolog中的列表長度
- 4. OCaml searchin增長最長的子序列
- 5. Ocaml中最長的公共子序列
- 6. 列表的長度是五,但我想列表的長度150
- 7. S的長度列表中的[長度爲l]的子集
- 8. 在OCaml中使用長度函數
- 9. Ocaml中的列表反轉
- 10. OCaml中的旋轉列表
- 11. 修改列表的列表OCaml中
- 12. Python:最長的子列表的長度?
- 13. 與列表OCaml中
- 14. 下拉列表的長度
- 15. Angular.js:表中的列的動態長度
- 16. 整數列表中最長的子序列的長度
- 17. 編輯另一個可變長度列表中的可變長度列表
- 18. Prolog列表長度
- 19. 創建列表的長度在另一列中提到列表的長度列表
- 20. 獲取表中列表中每列的最大列長度
- 21. 獲取Lazarus中TStrings列表的長度
- 22. 鄰接列表中的邊緣長度
- 23. while while循環中的列表長度
- 24. 在MongoDB中檢索列表的長度
- 25. wxPython的 - 長度的顏色列表不匹配長度間隔範圍列表
- 26. 從列表的列表中刪除列表,以及更OCaml中
- 27. OCaml編譯器檢查向量長度
- 28. jinja模板中列表的長度,其中列表是DBSession.query
- 29. 如何訪問R中列表中的可變長度列表
- 30. 記憶化列表ocaml的
的','在元組中使用,而不是列表。使用分號分隔列表中的個人。 – nlucaroni
謝謝。那是我在ocaml中的典型錯誤。 –