(思維 字串)1419 數青蛙

2021-10-07 06:15:40 字數 1093 閱讀 8921

給你乙個字串 croakoffrogs,它表示不同青蛙發出的蛙鳴聲(字串 "croak" )的組合。由於同一時間可以有多隻青蛙呱呱作響,所以 croakoffrogs 中會混合多個 「croak」 。請你返回模擬字串中所有蛙鳴所需不同青蛙的最少數目。

注意:要想發出蛙鳴 "croak",青蛙必須 依序 輸出 『c』, 』r』, 』o』, 』a』, 』k』 這 5 個字母。如果沒有輸出全部五個字母,那麼它就不會發出聲音。

如果字串 croakoffrogs 不是由若干有效的 "croak" 字元混合而成,請返回 -1 。

示例 1:

輸入:croakoffrogs = "croakcroak"

輸出:1 

解釋:乙隻青蛙 「呱呱」 兩次

示例 2:

輸入:croakoffrogs = "crcoakroak"

輸出:2 

解釋:最少需要兩隻青蛙,「呱呱」 聲用黑體標註

第一只青蛙 "crcoakroak"

第二隻青蛙 "crcoakroak"

示例 3:

輸入:croakoffrogs = "croakcrook"

輸出:-1

解釋:給出的字串不是 "croak" 的有效組合。

示例 4:

輸入:croakoffrogs = "croakcroa"

輸出:-1

1 <= croakoffrogs.length <= 10^5

字串中的字元只有 'c', 'r', 'o', 'a' 或者 'k'

題解:該題可以借鑑「有效的括號」的思路,遇到 r 的時候要保證 c 的數量 >= r 的數量,遇到 o 的時候要保證 c 的數量 & r 的數量 >= o 的數量……  直到遇到 k ,此時要保證 c、r、o、a的數量要 > 0 ; 此期間 c 數量的最大值即為ans

class solution 

else if(str[i]=='o')

else if(str[i]=='a')

else

ans=max(ans,c);

}return ans;

}};

力扣解題思路 1419 數青蛙

思路 給你乙個字串 croakoffrogs,它表示不同青蛙發出的蛙鳴聲 字串 croak 的組合。由於同一時間可以有多隻青蛙呱呱作響,所以 croakoffrogs 中會混合多個 croak 請你返回模擬字串中所有蛙鳴所需不同青蛙的最少數目。輸入 croakoffrogs croakcroak 輸...

字串 B034 數青蛙(字元計數)

給你乙個字串 croakoffrogs,它表示不同青蛙發出的蛙鳴聲 字串 croak 的組合。由於同一時間可以有多隻青蛙呱呱作響,所以 croakoffrogs 中會混合多個 croak 請你返回模擬字串中所有蛙鳴所需不同青蛙的最少數目。注意 要想發出蛙鳴 croak 青蛙必須 依序 輸出 c r ...

LeetCode 1419 數青蛙(腦洞題)

給你乙個字串 croakoffrogs,它表示不同青蛙發出的蛙鳴聲 字串 croak 的組合。由於同一時間可以有多隻青蛙呱呱作響,所以 croakoffrogs 中會混合多個 croak 請你返回模擬字串中所有蛙鳴所需不同青蛙的最少數目。注意 要想發出蛙鳴 croak 青蛙必須 依序 輸出 c r ...