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

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;}
};

结果

在这里插入图片描述

http://www.xdnf.cn/news/9406.html

相关文章:

  • 让 Deepseek GPS测速
  • 电脑革命家测试版:硬件检测,6MB 轻量无广告 清理垃圾 + 禁用系统更新
  • Oracle Linux 9 安装 EMCC 13.5:避坑细节与实战经验汇总!
  • GO——内存逃逸分析
  • Flutter、React Native、Unity 下的 iOS 性能与调试实践:兼容性挑战与应对策略(含 KeyMob 工具经验)
  • 云服务器是什么,和服务器有什么区别?
  • 系统赛数据库的一些记录
  • 【华为开发者空间 x DeepSeek】服务器运行Ollama并在本地调用
  • flutter简单自定义跟随手指滑动的横向指示器
  • Django数据库连接报错 django.db.utils.NotSupportedError: MySQL 8 or later is required
  • 代码输出题:异步事件循环
  • Spring boot 策略模式
  • YOLOv5 详解:从原理到实战的全方位解析
  • 35. 自动化测试开发之使用oracle连接池实现oracle数据库操作
  • 34. 自动化测试开发之使用mysql异步连接池实现mysql数据库操作
  • 碰一碰系统源码搭建
  • DH加密详解
  • 什么是PLM系统?PLM主要功能有哪些?2025主流PLM系统介绍
  • 第五十五节:综合项目实践-实时人脸美化滤镜
  • 三轴云台之积分分离PID控制算法篇
  • 【通关文件操作(上)】--文件的意义和概念,二进制文件和文本文件,文件的打开和关闭,文件的顺序读写
  • 鸿蒙运动开发实战:打造 Keep 式轨迹播放效果
  • Java Stream API 终止操作的详细解析
  • QML之Canvas
  • 数组名的大小理解
  • <b> 与 <span> 等行内元素添加 margin-top 或 margin-bottom 不生效问题
  • CarPropertyService 介绍
  • 【FAQ】spring boot 3 集成 nacos
  • pgsql 查看每张表大小
  • 创建vue项目