当前位置: 首页 > news >正文

leetcode0670. 最大交换-medium

1 题目:最大交换

官方标定难度:中

给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。

示例 1 :

输入: 2736
输出: 7236
解释: 交换数字2和数字7。

示例 2 :

输入: 9973
输出: 9973
解释: 不需要交换。
注意:

给定数字的范围是 [ 0 , 10 8 ] [0, 10^8] [0,108]

2 solution

直接尝试交换每两位,找到最大的即可

代码

class Solution {
public:int maximumSwap(int num) {int n = log10(num);int ans = num, pow = 1, m = num;for (int i = 0; i < n; i++) {int pow2 = pow, z = m;for (int j = i + 1; j <= n; j++) {pow2 *= 10;z /= 10;int y = num - (pow2 - pow) * (z % 10 - m % 10);ans = max(y, ans);}pow *= 10;m /= 10;}return ans;}
};

结果

在这里插入图片描述

相关文章:

  • 【AUTOSAR OS】 保护功能解析:从原理到应用与源代码解析(下篇)
  • SSE vs WebSocket:两种通讯方案该如何选择?
  • Python学习(3) ----- Python的函数定义及其使用
  • 去除ai写作痕迹的软件有哪些
  • 打卡第31天:模块和库的导入
  • 生成式引擎的认知霸权:为什么传统内容失效?
  • 【超详细教程】零基础本地部署DeepSeek-Coder-v2 16B!Ollama+GPU加速,100%跑通!
  • 政策支持下的PLM国产化浪潮:国产PLM的最新应用、前沿技术、反超路径
  • 02-BTC-密码学原理 对hash算法如果出现漏洞的思考
  • Linux线程机制揭秘:从内核实现到用户态编程(二)
  • ROC和生存曲线的绘制-spss
  • C语言中:递归问题的深入研究
  • 华南会议|AI驱动仿真未来 2025 Altair区域技术交流会华南站,报名开启!
  • C 语言学习笔记(结构体2)
  • 相机Camera日志分析之二十二:高通相机Camx 基于预览1帧的ConfigureStreams重要完整日志
  • libevent的粘包笔记
  • Python编程6——面向对象编程1
  • Java基础 Day23
  • 宏的高级应用 ——一种 C 语言的元编程技巧(X-Macro)
  • ArgoDB表类型及常用命令
  • 千岛湖网站建设/网站建站价格
  • 如何做话费卡回收网站/我要登录百度
  • 深圳市公司网站建设平台/亚马逊seo是什么意思
  • 免费的课程设计哪个网站有/搜狗网页版入口
  • 网站开发是固定资产吗/指定关键词seo报价
  • 网站后台做完文章不显示/自媒体引流推广