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;
}
相关推荐
Doubbbbbbble云13 小时前
算法优化中的数学建模与理论界限分析4
算法·数学建模
垆边人似月.13 小时前
华为机考题:字符个数统计
数据结构·算法·华为
en.en..13 小时前
Linux 进程退出exit(函数)
java·开发语言·算法
All for pursuit.13 小时前
【回溯-2】22.括号生成
数据结构·c++·算法·leetcode
longlongzihan13 小时前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口
朝朝辞暮i14 小时前
C++ 第 22 课:const —— 不允许随便修改的数据
开发语言·c++·算法
Chen—LSN14 小时前
数据结构——拿捏复杂度
java·c语言·开发语言·数据结构·经验分享·笔记·算法
Chen_harmony14 小时前
六、排序详解
c语言·数据结构·算法·排序算法
-dzk-14 小时前
【贪心算法】LC 55.跳跃游戏
算法·游戏·贪心算法
ofoxcoding14 小时前
Jev 模型评测深度解析:核心得分、能力局限与最佳适用任务场景
人工智能·算法·机器学习·ai