冒泡排序法
class Solution {
public:
int bit_num(int n){
int i=n==0?1:0;
while(n>0){
i++;
n=n/10;
}
return i;
}
string minNumber(vector<int>& nums) {
string out;
if(nums.empty())return out;
unordered_map<int,int>hashmap;
for(int i:nums){
if(!hashmap.count(i))
hashmap[i]=bit_num(i);
// cout<<i<<" "<<hashmap[i]<<endl;
}
int n=nums.size();
for(int i=0;i<n-1;i++){
for(int j=1;j<n-i;j++){
if((nums[j-1]*pow(10,hashmap[nums[j]])+nums[j])>(nums[j-1]+nums[j]*pow(10,hashmap[nums[j-1]]))){
int temp=nums[j-1];
nums[j-1]=nums[j];
nums[j]=temp;
}
}
cout<<endl;
for(int k:nums)
cout<<k<<" ";
cout<<endl;
}
for(int i:nums)
out=out+to_string(i);
return out;
}
};
待更新。。。