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;
}
相关推荐
每天要多喝水1 分钟前
动态规划Day32:最长公共子序列
算法·动态规划
骇城迷影3 分钟前
代码随想录:栈和队列篇
java·服务器·算法
2401_858286115 分钟前
OS54.【Linux】System V 共享内存(3) “共享内存+管道“修bug记录
linux·运维·服务器·算法·bug
小付同学呀6 分钟前
C语言学习(二)——C语言数据类型
数据结构·算法
流云鹤8 分钟前
牛客周赛Round 131
算法
重生之后端学习11 分钟前
124. 二叉树中的最大路径和
java·数据结构·算法·职场和发展·深度优先·图论
mit6.82413 分钟前
状压+dijk |floyd
算法
Renhao-Wan15 分钟前
Java 算法实践(五):二叉树遍历与常见算法题
java·数据结构·算法
一条大祥脚17 分钟前
Z函数/拓展KMP
算法
追随者永远是胜利者17 分钟前
(LeetCode-Hot100)39. 组合总和
java·算法·leetcode·职场和发展·go