博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
670. 最大交换
阅读量:6934 次
发布时间:2019-06-27

本文共 770 字,大约阅读时间需要 2 分钟。

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

示例 1 :

输入: 2736

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

输入: 9973

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

思路 使得高位(靠左的)的值更大

s[i]与后面的最大值(若有多个最大值,则取位次最小的,靠右的),交换位置

1/**  2 * @param {number} num  3 * @return {number}  4 */  5var maximumSwap = function(num) {
6    var s = num.toString() 7 8    for(var i=0; i
 max) max = s[j] 13        } 14        if(max !== init) {
15            s = s.replace(init, max) 16            s = reverseString(s) 17            s = s.replace(max, init) // 保证replace的是位次最小的 18            s = reverseString(s) 19            break 20        } 21    } 22 23    return Number(s) 24} 25 26function reverseString(s){
27    return s.split('').reverse().join('') 28}

转载于:https://www.cnblogs.com/rencoo/p/9735197.html

你可能感兴趣的文章
linux工具之curl与wget高级使用
查看>>
FFmpeg Installation for Ubuntu
查看>>
mysql中表名不区分大小写
查看>>
理解Docker——深入引擎室
查看>>
讨论Linux目录结构
查看>>
LINUX开启SNMP方法
查看>>
shell-变量的数值计算
查看>>
php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
查看>>
centos6.8安装 gitlab 9.3.5及使用
查看>>
字符转换指令tr,col,expand
查看>>
Egret之位图字体
查看>>
python安装MySQLdb出错解决方案
查看>>
Unable to find remote helper for 'https'解决办法
查看>>
kvm使用详解
查看>>
javascript的正则表达式
查看>>
zabbix3.2.6.1升级3.4.4图文心得
查看>>
PL/SQL子程序
查看>>
Unix/Linux shell脚本中 “set -e” 的作用
查看>>
802.1x------2
查看>>
如何实现1像素的表格
查看>>