題目:3330. 找到初始輸入字符串 I
思路:字符串,時間復雜度0(n)。
默認沒有輸錯的情況ans=1,而輸錯的情況,只會出現在連續相等字符串,假設這段字符串長度為ct,那么可能的情況為ct-1。累計這些和到ans上即可。
C++版本:
class Solution {
public:int possibleStringCount(string word) {int ans=1;int ct=0;for(int i=1;i<word.size();i++){if(word[i]==word[i-1]){ct++;}else{ans+=ct;ct=0;}}return ans+ct;}
};
JAVA版本:
class Solution {public int possibleStringCount(String word) {int ans=1;int ct=0;for(int i=1;i<word.length();i++){if(word.charAt(i)==word.charAt(i-1)){ct++;}else{ans+=ct;ct=0;}}return ans+ct;}
}
Go版本:
func possibleStringCount(word string) int {ans:=1ct:=0for i:=1;i<len(word);i++ {if word[i]==word[i-1] {ct++}else{ans+=ctct=0}}return ans+ct
}