eg: (1)"i love you" : return 0;
(2)"i like you" :return 1; (ii)
(3)"i like you,lily" :return 2; (iill)
(4)"aabbbbbccdddde" :return 3; (aabbcc)
解法一:當你需要快速的獲取對應key的value的時候,就可以使用map了。這裡利用map中鍵的唯一性和和大、小寫的對映關係來解題。
int count_of_letter_both_upper_lower_case(const char *str)
i++;
} it = map_chars_find.begin();
pend = map_chars_find.end();
for (; it != pend; it++) }
cout << "::" << a << endl;
return a;
}
解法二:用兩個長度是26的bool型別陣列儲存已找到的字元。
int count_of_letter_both_upper_lower_case_bool(const char *str)
; bool letter_upper[26] = ;
int i = 0;
while(str[i] != '\0')
else if(str[i] >= 'a' && str[i] <= 'z')
i++;
} for (int j = 0;j < 26;j++) }
return letter_count;
}
找出字串
有乙個排過序的字串陣列,但是其中有插入了一些空字串,請設計乙個演算法,找出給定字串的位置。演算法的查詢部分的複雜度應該為log級別。給定乙個string陣列str,同時給定陣列大小n和需要查詢的string x,請返回該串的位置 位置從零開始 測試樣例 a b c d 6,c 返回 3 思路 二分查...
找出字串
有乙個排過序的字串陣列,但是其中有插入了一些空字串,請設計乙個演算法,找出給定字串的位置。演算法的查詢部分的複雜度應該為log級別。給定乙個string陣列str,同時給定陣列大小n和需要查詢的string x,請返回該串的位置 位置從零開始 測試樣例 a b c d 6,c 返回 3 解題思路 二...
找出字串的所有子字串
字首樹實現,遍歷字串。把字串中的每乙個字元都視為字首,用乙個字首樹儲存以每乙個字元為開頭的字串 舉例為 abbc 然後遍歷字首樹,把每個子樹的每一層都作為乙個字串輸出即可。import copy class trienode object def init self,word self.word w...