我需要在OCaml中对列表进行编码。命令:编码['a','a','b','b','b','c'] ;;必须返回[(2,'a');(3,'b');(1,'c')]
现在我具有此功能:
let encode list =
let rec encodeHelper list acc = match list with
| [] -> []
| head :: [] -> (1, head) :: []
| head :: headNext :: tail -> if (head = headNext) then encodeHelper (headNext :: tail) (acc + 1)
else (acc, head) :: encodeHelper (headNext :: tail) acc
in encodeHelper list 1
;;
但是它返回:
答案 0 :(得分:1)
您的测试数据显示在顶部,格式不正确。
OCaml中的列表具有用分号(,
)分隔的元素。您的测试数据改用逗号(,
)。元组使用逗号,这就是为什么在结果中看到元组的原因。
如果您在测试数据中将;
更改为$(document).ready(function() {
$(".row_number").bind("click", function(e) {
if ($(this).css("background-color") != "rgb(26, 179, 148)") {
$(this).css("background-color", "rgb(26, 179, 148)");
$(this).css("color", "white");
} else {
$(this).css("background-color", "rgb(255,255,255)");
$(this).css("color", "#676a6c");
}
})
})
,则应该会看到更接近所需内容的内容。在我的测试中,至少还有一个问题需要解决。