刪除容器中重複字串並按長度排序

2021-06-22 19:57:38 字數 1507 閱讀 4026

#include < iostream> >

#include < algorithm> >

#include < string> >

#include < vector> >

using namespace std;

string make_plural(size_t ctr, const string &word,

const string &ending)

bool isshorter(const string &str1, const string &str2)

void elimdups(vector &words)

void biggieswithfind_if(vector &words,

vector::size_type sz) );

//獲取乙個迭代器, 指向第乙個滿足size() > sz的元素

auto wc = find_if(words.begin(), words.end(),

[=](const string &s)//可以使用隱式捕獲, 編譯器會自己推斷捕獲內容

//捕獲引用使用'&' , 捕獲值使用'=' );

//計算滿足條件元素的數目

auto count = words.end() - wc;

cout << count << " " << make_plural(count, "word", "s")

<< " 

of length 

" << sz << " 

or longer" << endl;

//列印每個長度大於等於要求的值的單詞, 每個單詞後面接乙個空格

for_each(wc, words.end(),

(const string &s) );

cout << endl; }

void biggieswithpartition(vector &words,

vector::size_type sz) );

//計算滿足條件元素的數目

auto count = words.end() - wc;

cout << count << " " << make_plural(count, "word", "s")

<< " 

of length 

" << sz << " 

or longer" << endl;

//列印每個長度大於等於要求的值的單詞, 每個單詞後面接乙個空格

for_each(wc, words.end(),

(const string &s) );

cout << endl; }

int main(int argc, char **argv) ;

biggieswithfind_if(str_vec, 4);

cout << "-------------------" << endl;

biggieswithpartition(str_vec, 4);

return 0; }

刪除字串中重複字元。

題目 刪除字串中重複字元。如果可以,優先刪除重複字元中排在比他小字元前面的字元。比如,輸入 bbcacdww 輸出 bacdw 分析 如果根本不允許開設陣列,則只能就地進行字串去重,那麼可以依次訪問字串中的字元,並刪除從該字串開始到結尾的所有相同字元。時間複雜度為o n 2 void removed...

非重複字串長度

問題 給定乙個字串,找出最長的不具有重複字元的子串的長度。例如,abcabcbb 不具有重複字元的最長子串是 abc 長度為3。對於 bbbbb 最長的不具有重複字元的子串是 b 長度為1。解 function lengthoflongestsubstring s let max 0let num ...

刪除重複字串

oj.h ifndef oj head define oj head int getresult const char input,char output endif oj.cpp include oj.h description 給定乙個字串,將字串中所有和前面重複多餘的字元刪除,其餘字元保留,輸...