C - Slimes

GitHub跳转原题关系图返回列表

使用 group 将连续相同字符分组,组数即为合并后剩余的史莱姆个数。

OJ: atcoder

题目 ID: abc143_c

难度:入门

标签:haskell字符串

日期: 2026-07-10 21:22

题意

相邻相同字符合并,求合并后字符串长度。

思路

group 将连续相同字符分成一组,length 统计组数。

代码

haskell
{-
 Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
 rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
 rainboy的学习导航网站: https://idx.roj.ac.cn
 create_at: 2026-07-10 21:37
 update_at: 2026-07-10 21:37
-}
import Data.List

main = do
    [_ ,xs] <- lines <$> getContents :: IO [[Char]]
    --print xs
    print $ length . group $ xs

复杂度

时间复杂度 O(N)O(N),空间复杂度 O(N)O(N)

总结

group 天然适合这种"相邻相同合并"的问题。