国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

拼接最小字典序練習

2019-11-08 03:28:21
字體:
來源:轉載
供稿:網友

對于一個給定的字符串數組,請找到一種拼接順序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。 給定一個字符串數組strs,同時給定它的大小,請返回拼接成的串。 測試樣例: [“abc”,”de”],2 “abcde”

這道題目不能直接對字符串進行排序輸出,比如 b ,ba,若按照字典序為 bba 實際的最小輸出為bab,所以這個需要重新定義兩個字符串的大小若str1+str2

class PRior {public: string findSmallest(vector<string> strs, int n) { if(strs.empty()) return string{}; quicksort(strs,0,n-1); string res{}; for(auto c:strs) res+=c; return res; } void quicksort(vector<string> &strs,int begin,int end) { if(begin<end) { int mid=quicksortmove(strs,begin,end); quicksort(strs,begin,mid-1); quicksort(strs,mid+1,end); } } int quicksortmove(vector<string> &strs,int begin,int end) { int l=begin; int r=end; string x=strs[l]; while(l<r){ while(l<r&&!comparestrless(strs[r],x)) --r; strs[l]=strs[r]; while(l<r&&!comparestrmore(strs[l],x)) ++l; strs[r]=strs[l]; } strs[l]=x; return l; } bool comparestrless(string a,string b) { if(a+b<b+a) return true; return false; } bool comparestrmore(string a,string b){ if(a+b>b+a) return true; return false; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文登市| 柞水县| 阿城市| 梨树县| 松原市| 蕉岭县| 呼图壁县| 湘乡市| 富民县| 平谷区| 休宁县| 邮箱| 墨竹工卡县| 论坛| 兴义市| 诸暨市| 同仁县| 江陵县| 文水县| 清远市| 新平| 赣州市| 宣威市| 富平县| 建湖县| 宣化县| 凤庆县| 孝感市| 惠州市| 尉氏县| 滨海县| 高邑县| 江孜县| 小金县| 阆中市| 临安市| 南澳县| 比如县| 台北县| 商南县| 佛冈县|