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;
}
相关推荐
叶小鸡13 小时前
小鸡玩算法-力扣HOT100-贪心算法
算法·leetcode·贪心算法
Old Uncle Tom13 小时前
提示词编写规范
数据库·算法
火山口车神丶13 小时前
如何借助AI进行模块封装DIY
javascript·人工智能·算法
MegaDataFlowers13 小时前
15.三数之和
算法
贾斯汀玛尔斯13 小时前
每天学一个算法--一致性哈希(Consistent Hashing)
算法·哈希算法
无限进步_14 小时前
C++ 继承机制完全解析:从基础原理到菱形继承问题
java·开发语言·数据结构·c++·vscode·后端·算法
superior tigre14 小时前
45 跳跃游戏2
算法·leetcode·游戏
不知名的忻14 小时前
并查集(QuickUnion)
java·数据结构·算法·并查集
leo__52014 小时前
基于时延的麦克风声源定位 - C实现
c语言·开发语言·算法
攻防_SRC14 小时前
面向分组密码差分故障分析的属性推导与验证平台
人工智能·算法·机器学习