生活中經常有需要將多個字串進行排序的需要,比如將美團點評的部分業務名稱(外賣、打車、旅遊、麗人、美食、結婚、旅遊景點、教培、門票、酒店),用拼音表示之後按字母逆序排序。字母逆序指從z到a排序,比如對兩個字串排序時,先比較第乙個字母按字母逆序排z在a的前面,當第乙個字母一樣時再比較第二個字母按字母逆序排,以此類推。特殊情況1)空字串需排在最前面;2)若乙個短字串是另乙個長字串的字首則短字串排在前面。請自行實現**進行排序,直接呼叫sort等排序方法將不得分且視為作弊。
輸入描述:
輸入為一行,由多個字串以英文逗號拼接而成,最多不超過128個字串且可能有重複。每個字串由小寫字母a-z組成,可以為空,最長不超過128個字元。
輸出描述:
輸出一行,為排序之後的字串,用逗號隔開
#include#include#include#includeusing namespace std;
//定義乙個結構題,重寫《執行賦
struct item
bool operator <(const item &a)const
if(name.length() < a.name.length())
return true;
return false;
}
};//將字串line根據字元c分割開
vectorstrsplit(string line,char c)
else
temp = temp + line[i];
i++;
} if(temp.length() > 0)
strarr.push_back(temp);
return strarr;
} //氣泡排序
void bubblesort(vector&mitem) }}
}
int main()
}vectormitem;
for(int i = 0;i < strarr.size();i++)
bubblesort(mitem);
for(int i = 0;i < mitem.size();i++)
return 0;
}
1)本文首先對多行字串根據字條c進行分割,返回vector型別的資料
2)然後通過將字元構造成個體,通過構造體中重寫《運算子,來比較結構體物件的大小;
3)由於題目不准用內建的排序函式,本文採用自定義的氣泡排序法排序;
2018美團筆試字串問題
輸出對應的答案。in aab abaout 2in aaabb babout 5 題解 n o n o n include include include include include include include include include include include include ...
筆試題 字串翻轉 python
將一句話的單詞進行倒置,標點不倒置。比如 i like beijing.經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 輸入例子 i like beijing....
美團2020筆試 字串逆排序
題目描述 將以逗號分隔的輸入字串按z a的順序排序,空字元位於最前面,當乙個字串是另乙個字串的子串時,排在前面。import sys import operator def resort arr n len arr count 0 for i in range n if arr i arr i ar...