騰訊面試題 對字串中單詞出現次數排序總結

2021-08-19 21:34:44 字數 1399 閱讀 3943

#include#include#include#include#include#includeusing namespace  std;

void sortword(char *str)

str++;

} //實際是按照string排序的map,但是我們需要按照出現的次數排序

cout << "*****====map中的按照string排序的原始資料" << endl;

for (auto i : m)

cout << "*****====multimap按照出現次數排序的資料" << endl;

for (auto i : m2)

//方式二,對map中的資料插入到vector中,然後對vector排序

vector> v;

for (auto i : m)

sort(v.begin(), v.end(), (pairp1, pairp2) );

cout << "**********===vector> 按照出現次數sort" << endl;

for (auto i : v)

cin.get();

}struct _wordword[100];

int i = 0;

bool cmp(_word w1, _word w2)

void bubblesort()

;// memcpy(&temp, &word[k], sizeof(_word));

// memcpy(&word[k],&word[k+1], sizeof(_word));

// memcpy(&word[k+1],&temp, sizeof(_word));

swap(word[k], word[k + 1]);

}//相同次數按照字典序排序

else if (word[k].count == word[k + 1].count)

}} }

}void cwordsort(const char *str)

}if (j == i)

p = str + 1;

} str++;

} cout << "c語言方式收集到的單詞*****" << endl;

for (int j = 0; j < i; j++)

cout << "**********====c bubble sort**********====" << endl;

bubblesort();//自己寫的氣泡排序函式

//sort(word, word + i, cmp);//呼叫庫函式的sort函式

for (int j = 0; j < i; j++)

cin.get();

}int main()

面試題 只替換字串中連續出現2次的地方

現在要把字串中連續出現2個a的替換成bb 如admin admin 不替換,只出現一次 aaadmin aaadmin 不替換,a連續出現了3次 aadmin bbdmin 替換了 aa2aa bb2bb 替換了 aadminaaadminaaaadmin bbdminaaadminaaaadmin...

面試題 jvm對字串的優化

遇到了這樣乙個面試題 string str hi,lao wang string str2 hi,laowang system.out.println str str2 輸出結果如你所料,正是true 但是為什麼會是ture呢 首先我們了解一下字串,眾所周知,字串就是乙個不可變類,對它的任何操作,其...

字串高頻面試題。

一 題目 把乙個01 只包含0和1的串 串進行排序。可以交換任意兩個位置,求最少交換的次數。方法 仿造快速排序裡面的partition的過程。最左邊的0和1是沒有意義的,從左到右掃到第乙個1,從右到左掃到第乙個0,然後交換,然後繼續掃下去,就ok啦。include include define ma...