统计核苷酸

实践练习C++17

DNA 可以用由四种字符组成的序列表示:A 表示腺嘌呤,C 表示胞嘧啶,G 表示鸟嘌呤,T 表示胸腺嘧啶。完成本题不需要额外的生物学知识。

任务说明

每个人都会从生物学父母那里继承一套称为 DNA 的化学指令,影响身体的构造。所有已知生命都依赖 DNA。

注意:完成本练习不需要事先了解核苷酸或 DNA。

DNA 是由其他化学成分连接成的长链,其中最重要的是四种核苷酸:腺嘌呤、胞嘧啶、鸟嘌呤、胸腺嘧啶。一条 DNA 链可能包含数十亿个核苷酸,排列顺序十分重要;某段 DNA 中的这种排列称为 DNA 序列。

可以用四种核苷酸的有序集合表示序列,常见方式是字符串。例如 "ATTACG" 表示 6 个核苷酸,其中 A、C、G、T 分别代表上述四种成分。

给定 DNA 字符串,统计每种核苷酸出现的次数。若包含 A、C、G、T 之外的字符,输入无效,应报告错误。

例如:

"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error