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;
}
相关推荐
通信小呆呆4 分钟前
从理想到现实:实际系统中非理想特性及其补偿方法
算法·数学建模·信号处理
AI人工智能+电脑小能手9 分钟前
【大白话说Java面试题 第97题】【Mysql篇】第27题:说说分库与分表的设计?
java·开发语言·数据库·分布式·mysql·算法
yuan1999717 分钟前
双目视觉测距实现
算法
洒脱的六边形战士加辣18 分钟前
Java排序方法全解析
java·数据结构·算法
代码中介商29 分钟前
LRU缓存算法:双向链表+哈希表实现
算法·链表·缓存
lqqjuly32 分钟前
计算理论—图灵机、复杂性、信息论与机器学习的理论基础
算法
Hiter_John1 小时前
Golang的循环语句
开发语言·算法·golang
磊 子1 小时前
STL算法库讲解1
开发语言·c++·算法
8Qi81 小时前
LeetCode 474:一和零(Ones and Zeroes)—— 题解 ✅
算法·leetcode·职场和发展·动态规划·01背包
stolentime1 小时前
CF2066D2 Club of Young Aircraft Builders (hard version)题解
c++·算法·动态规划·组合数学