三個同樣的字母連在一起,一定是拼寫錯誤,去掉乙個的就好啦:比如 helllo -> hello
兩對一樣的字母(aabb型)連在一起,一定是拼寫錯誤,去掉第二對的乙個字母就好啦:比如 helloo -> hello
上面的規則優先「從左到右」匹配,即如果是aabbcc,雖然aabb和bbcc都是錯誤拼寫,應該優先考慮修復aabb,結果為aabcc
我特喵是個天才!我在藍翔學過挖掘機和程式設計,按照這個原理寫了乙個自動校對器,工作效率從此起飛。用不了多久,我就會出任ceo,當上董事長,迎娶白富美,走上人生巔峰,想想都有點小激動呢!
……萬萬沒想到,我被開除了,臨走時老闆對我說: 「做人做事要兢兢業業、勤勤懇懇、本本分分,人要是行,幹一行行一行。一行行行行行;要是不行,幹一行不行一行,一行不行行行不行。」 我現在整個人紅紅火火恍恍惚惚的……
請聽題:請實現大錘的自動校對程式
字串,去重,
只有兩種情況需要刪除,3個相同aaa,和aabb型別,第一種情況會在第二種情況下的只看單個字母時的後發生,所以可以先把第一種情況所有3個相同字母的刪除之後,再判斷aabb型的問題。兩遍迴圈。使用string字串的erase函式
1、如果一次遍歷搞不定,就兩次序列遍歷,先把其中一種情況搞定。
2、string中的erase函式,
* 2.1可以傳進來兩個引數,(乙個位置,乙個個數),兩個引數都是size_t型別。返回原來的字串string
* 2.2也可以乙個引數傳迭代器,刪除當前元素,函式返回刪除元素的後乙個元素。
* 2.3也可以傳兩個迭代器把中間的元素刪除,返回刪除區間的後乙個元素
3、string使用erase()方法之後,原來的字串會當場變短
#include
#include
using
namespace std;
intmain()
結果:刪除之前 s is:qwertyuiop
之前:s.
size
() is 10
刪除之前第4個元素是:r
刪除之後 s is:qwetyuiop
之後 的 :s.
size
() is 9
之後 的 :s.
length
() is 9
刪除之後第4個元素是:t
#include
using
namespace std;
intmain()
}//規則2
for(
int i =
3; i < s.
length()
; i++)}
cout << s << endl;
}
字串去重
字串去重,思路是在乙個字串例如 strstrrtsiiiinnnggggg 中,遍歷所有的字元,拼接到stringbuffer中。在執行速度上來看stringbuffer的拼接速度要快與string。通過str.charat i 的方法得到當前遍歷到的字元。通過indexof方法得到該字元第一次出現...
字串去重
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head 思路 1.宣告乙個空字元 2.將需要去重字元,乙個乙個新增到空字串中 條件 s裡面沒有這個字元,就加進去 v...
字串右旋 字串去重
1.將n個字元的陣列,迴圈右移k位。時間複雜度o n 實現思路 兩種實現思路 1.借助輔助空間,按照後面的順序進行拷貝,最後拷貝回字串 2.三次反轉法就可實現 include void rotatekth char str,int size,int k 2.附加題 刪除小寫字母字串中重複字元。如果可...