题目描述
一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。
具体的:
1.大雁发出的完整叫声为”quack“,因为有多只大雁同一时间嘎嘎作响,所以字符串中可能会混合多个”quack”。
2.大雁会依次完整发出”quack”,即字符串中’q’ ,‘u’, ‘a’, ‘c’, ‘k’ 这5个字母按顺序完整存在才能计数为一只大雁。如果不完整或者没有按顺序则不予计数。
3.如果字符串不是由’q’, ‘u’, ‘a’, ‘c’, ‘k’ 字符组合而成,或者没有找到一只大雁,请返回-1。
输入描述
一个字符串,包含大雁quack的叫声。1 <= 字符串长度 <= 1000,字符串中的字符只有’q’, ‘u’, ‘a’, ‘c’, ‘k’。
输出描述
大雁的数量
示例1
输入
quackquack
输出
1
说明
无
示例2
输入:
qaauucqcaa
输出:
-1
说明
无
示例3
输入:
quacqkuackquack
输出:
2
说明
无
示例4
输入:
qququaauqccauqkkcauqqkcauuqkcaaukccakkck
输出:
5
说明
无
示例5
输入:
quacqkuquacqkacuqkackuack
输出:
3
说明
无
解题思路
题目理解
这个题目要求根据地面上的游客听到的大雁叫声(由字符串表示),判断至少有几只大雁在发出叫声。题目假设大雁的完整叫声为“quack”,并且同一时间可能有多只大雁发出这样的叫声。
题目要求的关键点:
-
完整性:一个大雁的叫声必须按顺序完整地发出“quack”。这意味着字符串中的字符必须严格按照顺序出现:q -> u -> a -> c -> k。
-
多只大雁的情况:多个大雁可以同时发出叫声,造成“quack”片段在字符串中交错出现。例如,字符串“quqacuackk”表示两只大雁在同时发出叫声。
-
输入约束:字符串长度在1到1000之间,字符只能是q, u, a, c, k。如果字符串中存在不符合规则的部分,或者字符串无法组合成至少一个完整的“quack”,就需要返回-1。
示例分析
- 输入“quackquack”:两个连续完整的“quack”,输出为1,最少只需要一只大雁连续叫两声。
- 输入“quqacuackk”:“