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;
}
相关推荐
高亦真7 分钟前
今天是学习嵌入式的第38天
linux·学习·算法
Zane19941 小时前
冒泡、选择、插入排序都是O(n²),希尔排序凭什么说自己能更快
算法·排序算法
余额瞒着我当琳2 小时前
C++多态深入解析:多态概念,多态实现条件,虚函数表与内存分布,常见问题及注意事项
c++·算法
维克兜率天2 小时前
【维克】模块3总结:从一行空数据,到一个能跑的模型
python·深度学习·算法
飞Link2 小时前
定积分理论与 Python 仿真完全指南
python·算法
闲研随记2 小时前
RL算法学习:ArgMaxRL
算法·llm·强化学习·rl
飞Link2 小时前
零基础:离散数据积分与 Python 实现保姆级教程
python·算法
淡海水2 小时前
11-03-Unity-List-T-和Dictionary-TKey-TValue-的性能调优实战
算法·unity·c#·list·dictionary
土司大王3 小时前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode