位元組字串去重001

2021-10-12 20:03:44 字數 1372 閱讀 2888

三個同樣的字母連在一起,一定是拼寫錯誤,去掉乙個的就好啦:比如 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.附加題 刪除小寫字母字串中重複字元。如果可...