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;
}
相关推荐
进击的小头2 分钟前
一阶IIR低通滤波器:从原理到嵌入式实战
c语言·算法
2301_8112329815 分钟前
C++中的契约编程
开发语言·c++·算法
2401_8290040215 分钟前
C++中的访问者模式
开发语言·c++·算法
青槿吖23 分钟前
第二篇:JDBC进阶骚操作:防注入、事务回滚、连接池优化,一篇封神
java·开发语言·jvm·算法·自动化
sin_hielo23 分钟前
leetcode 1984
数据结构·算法·leetcode
古城小栈40 分钟前
开发常用 宏
算法·rust
m0_7482486540 分钟前
C语言向C++过渡
c语言·c++·算法
qq_423233901 小时前
跨语言调用C++接口
开发语言·c++·算法