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;
}
};
LEETCODE LCR 164. 破解闯关密码 (希尔排序)
最新推荐文章于 2024-10-01 05:04:32 发布