class Solution { public: string crackPassword(vector<int>& password) { vector<string> password_str; for(int i=0;i<password.size();i++){ password_str.push_back(to_string(password[i])); } //希尔排序 int gap=password.size()/2; while(gap>0){ for(int i=gap;i<password_str.size();i++){ int j=i; string tmp=password_str[i]; while(j>=gap && (password_str[j-gap]+tmp)>(tmp+password_str[j-gap])){ password_str[j]=password_str[j-gap]; j-=gap; } password_str[j]=tmp; } gap/=2; } string s=""; for(int i=0;i<password_str.size();i++){ s+=password_str[i]; } return s; } };