leetcode670最大交换

给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。

示例 1 :

输入: 2736

输出: 7236

解释: 交换数字2和数字7。

示例 2 :

输入: 9973

输出: 9973

解释: 不需要交换。

注意:

给定数字的范围是 [0, 108]

cpp 复制代码
int maximumSwap(int num) {
	string charArray = to_string(num);
	int max = num;
	int len = charArray.size();
	for (int i = 0; i < len; i++){
		for (int j = i+1; j < len; j++){
			swap(charArray[i], charArray[j]);
			max = max > stoi(charArray) ? max : stoi(charArray);
			//stoi()函数将字符串转换为整型或其他进制
			swap(charArray[i], charArray[j]);
			//由于需要比较最大的值,所以需要交换回去,继续比较
		}
	}
	return max;
}
相关推荐
运筹说3 分钟前
运筹说 第149期 粒子群算法入门:从鸟群觅食到优化求解,2大应用案例+MATLAB代码实战!
算法
lxw20230271164 分钟前
python第一次作业
算法
苦藤新鸡4 分钟前
20.右旋转图片
数据结构·算法·leetcode·力扣
ChoSeitaku9 分钟前
28.C++进阶:map和set封装|insert|迭代器|[]
java·c++·算法
月挽清风9 分钟前
代码随想录第六天:哈希表
算法·leetcode
爱编码的傅同学10 分钟前
【今日算法】LeetCode 5.最长回文子串 和 287.寻找重复数
算法·leetcode·代理模式
张祥64228890416 分钟前
GNSS单点定位方程推导笔记
人工智能·算法·机器学习
吴秋霖17 分钟前
某网站x-s补环境(Cursor版)
算法·js逆向·cursor·补环境
炽烈小老头21 分钟前
【每天学习一点算法 2026/01/20】汉明距离
学习·算法
夏鹏今天学习了吗21 分钟前
【LeetCode热题100(86/100)】最长有效括号
算法·leetcode·职场和发展