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;
}
相关推荐
Frostnova丶1 分钟前
LeetCode 1594.矩阵中最大的非负乘积
算法·leetcode·矩阵
We་ct1 分钟前
LeetCode 162. 寻找峰值:二分高效求解
前端·算法·leetcode·typescript·二分·暴力
丶小鱼丶2 分钟前
数据结构和算法之【二叉树】
java·数据结构·算法
hanlin032 分钟前
刷题笔记:力扣第38题-外观数列
算法·leetcode
2301_793804694 分钟前
模板代码安全性增强
开发语言·c++·算法
测试_AI_一辰5 分钟前
Agent & RAG 测试工程笔记 13:RAG检索层原理拆解:从“看不懂”到手算召回过程
人工智能·笔记·功能测试·算法·ai·ai编程
干啥啥不行,秃头第一名7 分钟前
C++中的观察者模式
开发语言·c++·算法
阿Y加油吧11 分钟前
力扣打卡——反转链表、回文链表判断 题解
算法·leetcode
羊小猪~~11 分钟前
算法/力扣--数组典型题目
c语言·c++·python·算法·leetcode·职场和发展·求职招聘
Johnny.Cheung12 分钟前
【德国技术面试】两道小算法题(求两数之和/解谜游戏)
算法·面试