題目要求:
編寫乙個程式,輸入乙個字串,然後採用如下的規則對該字串當中的每一
個字元進行壓縮:
(1) 如果該字元是空格,則保留該字元;
(2) 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元;
(3) 否則,刪除該字元。
例如,若使用者輸入「occurrence」,經過壓縮後,字元c的第二次出現被刪除
,第一和第三次出現仍保留;字元r和e的第二次出現均被刪除,因此最後的結果為
:「ocurenc」。
輸入輸入只有一行,即原始字串。
輸出輸出只有一行,即經過壓縮以後的字串。
樣例輸入 copy
occurrence
樣例輸出 copy
ocurenc
解題思路:
使用 map 容器實現字串中每種字元與其出現的次數一一對應。迴圈遍歷時對容器進行查詢,將沒有找到的字元,即第一次出現的字元作為鍵,次數 1 作為值寫入容器;而查詢到的字元,即並非第一次出現的字元,將其對應的值進行 +1 操作。其他的按照題目要求判斷即可。
通關**:
#include
#include
#include
using
namespace std;
intmain()
map<
char
,int
>
::iterator it = arr.
find
(*p);if
(it != arr.
end())
else
}else}
cout << str;
return0;
}
劍指offer刷題記錄 字串
請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。寫到一半,崩了,還沒儲存,心態崩了,從頭再來。其實劍指offer裡幾個字串的題目無非就是理清題...
OJ刷題記錄 問題 F 地質調查
題目要求 小明是乙個地質調查員,在他調查的地方突然出現個泉眼。由於當地的地勢不均勻,有高有低,他覺得這意味著這裡在不久的將來將會乙個小湖。水往低處流,凡是比泉眼地勢低或者等於的地方都會被水淹沒,地勢高的地方水不會越過。而且又因為泉水比較弱,當所有地勢低的地方被淹沒後,水位將不會 一直定在跟泉眼一樣的...
力扣刷題記錄 字串 簡單 859親密字串
給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 輸入 a ab b ba 輸出 true 輸入 a ab b ab 輸出 false 輸入 a aa b aa 輸出 true 輸入 a aaaaaaabc...