670. 最大交换

670. 最大交换

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

示例 1 :

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

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

解题思路

目标就是优先锁定高位,像低位找比当前位更大的,并且位置越后越好,因为越前的位置占的权重越大,而我们交换以后会让低位变小,因此我们是需要优先将小权重的数位变小

代码

class Solution {public int maximumSwap(int num) {char[] chars = String.valueOf(num).toCharArray();int n=chars.length;for (int i=0;i<n;i++){int c=i;for (int j=i+1;j<n;j++){if (chars[i]!=chars[j]&&chars[j]>=chars[c])c=j;}if (c!=i){char t=chars[c];chars[c]=chars[i];chars[i]=t;return Integer.parseInt(new String(chars));}}return num;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flexbox布局_Flexbox vs Grid-如何构建最常见HTML布局

flexbox布局There are so many great CSS resources all over the internet. But what if you just want a simple layout and you want it NOW? 互联网上有很多很棒CSS资源。 但是&#xff0c;如果您只是想要一个简单的布局而现在就想要呢&#xff1f; In this article, I d…

789. 逃脱阻碍者

789. 逃脱阻碍者 你在进行一个简化版的吃豆人游戏。你从 [0, 0] 点开始出发&#xff0c;你的目的地是 target [xtarget, ytarget] 。地图上有一些阻碍者&#xff0c;以数组 ghosts 给出&#xff0c;第 i 个阻碍者从 ghosts[i] [xi, yi] 出发。所有输入均为 整数坐标 。 每一…

计算机视觉-自定义对象检测器

1、模板匹配 运行指令&#xff1a;python template_matching.py --source 3.jpg --template 2.jpg import argparse import cv2ap argparse.ArgumentParser() ap.add_argument("-s", "--source", requiredTrue, help"Path to the source image"…

Java 微信公众号导出所有粉丝(openId)

由于公众号换了公司主体&#xff0c;需要做迁移&#xff0c;玩家的openId数据需要做处理。 (我是按我要的json格式&#xff0c;将粉丝导成了1万条数据的一个json文件) 文件格式&#xff1a; {"info":[{"openId":"ogVous494ltuNmO4zHb1seHeGLSk"}…

javascript闭包_JavaScript闭包教程–带有JS闭包示例代码

javascript闭包Closures – many of you JavaScript devs have probably heard this term before. When I started my journey with JavaScript, I encountered closures often. And I think theyre one of the most important and interesting concepts in JavaScript. 闭包–…

1646. 获取生成数组中的最大值

1646. 获取生成数组中的最大值 给你一个整数 n 。按下述规则生成一个长度为 n 1 的数组 nums &#xff1a; nums[0] 0 nums[1] 1 当 2 < 2 * i < n 时&#xff0c;nums[2 * i] nums[i] 当 2 < 2 * i 1 < n 时&#xff0c;nums[2 * i 1] nums[i] nums[i …

docker保存日志文件到本地

其实很简单 docker logs 你需要添加的额外参数 容器id >文件名称 然后查看这个文件就可以了&#xff0c;也可以通过ftp协议下载到本地

防反射JavaScript –如何让您的JS等待

Debounce methods do not execute when invoked. Instead, they wait for a predetermined time before executing. If the same method is called again, the previous is cancelled and the timer restarts.防抖动方法在调用时不执行。 而是&#xff0c;它们在执行之前等待预…

21天学通Visual.Basic pdf

下载地址&#xff1a;网盘下载《21天学通Visual Basic(第2版)》是Visual Basic 6.0的入门教程&#xff0c;主要针对没有程序设计基础的读者&#xff0c;详细介绍了Visual Basic 6.0的基本概念和编程技术。书中通过大量的范例及综合练习来介绍Visual Basic 6.0的基本概念、语言特…

297. 二叉树的序列化与反序列化

297. 二叉树的序列化与反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。 请设计一个算法来实现…

交互式图表_如何构建罗马数字转换器和交互式罗马数字图表

交互式图表The Roman numerals are no longer an essential part of our daily lives. But we do use them when designing monuments, clocks, and even for sporting events.罗马数字不再是我们日常生活中必不可少的部分。 但是我们在设计纪念碑&#xff0c;钟表甚至体育赛事…

Python 08 面向对象

Python 面向对象 1、编程范式 2、面向对象特性 3、属性、方法 4、三大特性 5、高级方法 6、类的特殊成员方法 7、反射 8、异常处理 9、单例模式 一、编程范式 编程&#xff1a;程序员用特定的语法数据结构算法组成的代码来告诉计算机如何执行任务的过程 &#xff0c; 实现一个…

eclipse手动添加SVN插件

https://www.cnblogs.com/hcl1991/p/5888461.html 1.手动下载svn插件&#xff08;百度SVNsite-1.8.18&#xff09; 2.将下载好的SVNsite-1.8.18.zip 解压 3.在eclipse安装目录的plugins新建SVN文件夹 4.将SVNsite-1.8.18解压包下的features和plugins拷贝到新建的SVN文件夹下 5.…

440. 字典序的第K小数字

440. 字典序的第K小数字 给定整数 n 和 k&#xff0c;找到 1 到 n 中字典序第 k 小的数字。 注意&#xff1a;1 ≤ k ≤ n ≤ 109。 示例 : 输入: n: 13 k: 2 输出: 10 解释: 字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9]&#xff0c;所以第二小的数字是…

微信小程序 设置背景占满整个页面

微信小程序,默认的根节点是<page></page>&#xff0c;所有内容都包裹在这个标签里&#xff0c;如何让页面的背景占满整个屏幕&#xff1f;&#xff1f; <page><view class"bg">....</view> </page> .bg {background-image:ur…

udemy下载课程无法播放_最好的Udemy Web开发课程+热门免费课程

udemy下载课程无法播放Heres a list of some of the most popular web development courses on Udemy:以下是Udemy上一些最受欢迎的Web开发课程的列表&#xff1a; Best General Web Development Courses on Udemy:关于Udemy的最佳常规Web开发课程&#xff1a; The Complete …

渗透测试初学者_渗透测试许可证:面向初学者的道德黑客课程

渗透测试初学者A penetration test is an authorized cyberattack on a computer system, performed to evaluate the security of the system. 渗透测试是对计算机系统的授权网络攻击&#xff0c;旨在评估系统的安全性。 Weve released a full pentesting course on the free…

Codeforces 915 E Physical Education Lessons

题目描述 This year Alex has finished school, and now he is a first-year student of Berland State University. For him it was a total surprise that even though he studies programming, he still has to attend physical education lessons. The end of the term is …

JDK 11 还有一个处于计划阶段的 JEP:让其支持 TLS 1.3

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; >>> JDK 11 最近有什么消息&#xff1f;我们不妨来看一下它的进展情况&#xff0c;包括最新的 JEP 提案。Java 的新版本发布计划意味着总会有一款新的 JDK 即将推出。根据他们的计划&a…

498. 对角线遍历

498. 对角线遍历 给定一个含有 M x N 个元素的矩阵&#xff08;M 行&#xff0c;N 列&#xff09;&#xff0c;请以对角线遍历的顺序返回这个矩阵中的所有元素&#xff0c;对角线遍历如下图所示。 示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,4,7,5…