麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

華為機試在線訓練-??途W(14)刪除字符串中出現次數最少的字符

2019-11-14 09:02:48
字體:
來源:轉載
供稿:網友

題目描述

實現刪除字符串中出現次數最少的字符,若多個字符出現次數一樣,則都刪除。輸出刪除這些單詞后的字符串,字符串中其它字符保持原來的順序。

輸入描述:

字符串只包含小寫英文字母, 不考慮非法輸入,輸入的字符串長度小于等于20個字節。

輸出描述:

刪除字符串中出現次數最少的字符后的字符串。

輸入例子:
abcdd
輸出例子:
dd此題可以引用《華為機試在線訓練-牛客網(12)密碼驗證合格程序》一文中衍生問題的一個思路,不過此處更簡單,不需要統計子串重復情況而是統計字符重復情況,對于字符統計可以直接使用泛型算法count()。另外記錄下重復次數最少的所有索引,根據索引號用“0”替換,再調用remove()算法刪除所有為'0'的字符。

注意:此處不能直接用string::erase()循環刪除pos位置的字符,因為每次根據pos刪除一個字符后索引號已改變,下一次刪除無效。

完整AC的代碼如下:

#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;int main(){    string inStr;    while(getline(cin,inStr)){            int tempCnt=0;            int minCnt=100;            vector<int > minPos;            for(int i=0;i<inStr.size();i++){                tempCnt= count(inStr.begin(),inStr.end(),inStr[i]);                if(tempCnt<=minCnt){                    if(tempCnt<minCnt)minPos.clear();                    minCnt=tempCnt;                    minPos.push_back(i);                }            }            for(auto pos:minPos)                inStr.replace(pos,1,"0");             int pos;             while((pos=inStr.find('0'))!=string::npos){                    inStr.erase(pos,1);             }             cout<<inStr<<endl;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av电影在线观看网站 | 精品久久久久久久久久久久久 | 欧美在线观看视频一区 | 国产毛片在线看 | 欧美精品成人一区二区三区四区 | 姑娘第四集免费看视频 | 欧美a∨一区二区三区久久黄 | 欧美成人精品一区二区男人小说 | 国产精品国产成人国产三级 | 中文日韩在线视频 | 亚洲 综合 欧美 动漫 丝袜图 | 国产精品视频免费在线观看 | 国产亚洲精品成人 | 精品成人在线观看 | 色妇视频| 亚州欧美在线 | 男女无遮挡羞羞视频 | 午夜视频免费播放 | 国产乱弄 | 香蕉国产在线视频 | av电影在线观看免费 | 成年人在线免费播放视频 | www.17c亚洲蜜桃 | av在线一区二区三区四区 | 日韩精品羞羞答答 | 性欧美一区二区 | h色在线观看 | 久久久一区二区三区精品 | 成年性羞羞视频免费观看无限 | 国内精品国产三级国产a久久 | 免费观看9x视频网站在线观看 | 成人免费网站在线观看 | 亚洲人成网站在e线播放 | 久久看视频 | 精品国产一区二区三区在线 | 中文国产在线视频 | 亚洲资源在线 | 欧美成年人在线视频 | 久久精品com | 欧美性生交大片 | a集毛片|