670. 最大交换
思路:枚举每一对交换的位置
class Solution {
public:
int maximumSwap(int num) {
vector<int> v;
int mx=num;
while(1){
v.push_back(num%10);
num/=10;
if(num==0) break;
}
reverse(v.begin(),v.end());
for(int i=0;i<v.size();i++){
for(int j=i+1;j<v.size();j++){
swap(v[i],v[j]);
int tmp=0;
for(int k=0;k<v.size();k++){
tmp=tmp*10+v[k];
}
mx=max(mx,tmp);
swap(v[i],v[j]);
}
}
return mx;
}
};