670. 最大交换
给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。
示例 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<s.length; i++) { 9 var init = s[i]10 var max = init11 for(var j=i+1; j<s.length; j++) {12 if(s[j] > 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 break20 }21 }2223 return Number(s)24}2526function reverseString(s){27 return s.split('').reverse().join('')28}
转载于:https://www.cnblogs.com/rencoo/p/9735197.html
670. 最大交换相关推荐
- 力扣解题思路:670. 最大交换/parseInt和valueOf的区别
670. 最大交换 思路: 看到这题我第一反应就是想到下一个排列,不过很快发现这两题并没办法使用同一种思路,因为这一题是要求最大,且只能交换一次,相当于多了很多别的限制. 初步的思路是,直接将数组排序 ...
- 力扣 670. 最大交换
670. 最大交换 难度中等77收藏分享切换为英文关注反馈 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 示例 1 : 输入: 2736 输出: 7236 解释: 交换 ...
- Leetcode 670. 最大交换 C++
Leetcode 670. 最大交换 题目 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 测试样例 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2 ...
- LeetCode每日一题——670. 最大交换
LeetCode每日一题系列 题目:670. 最大交换 难度:中等 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能 ...
- 【算法】力扣670最大交换
某天,我的朋友给我发来一道题,力扣的670 这道题一开始把我难住了,结果是我眼花看错题意了,后来我用了最简单的类似冒泡算法解决了.思路类似于冒泡算法,相邻两两交换,使用了StringBuffer这种采 ...
- LeetCode 670. 最大交换
1. 题目 给定一个非负整数,你至多可以交换一次数字中的任意两位. 返回你能得到的最大值. 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7.示例 2 : 输入: 9973 ...
- LeetCode 670 最大交换 (暴力+贪心、Python)
同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maxim ...
- 【670. 最大交换】
来源:力扣(LeetCode) 描述: 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7. 示 ...
- leetcode 670. 最大交换 python
题目描述: 题解:贪心 1.将输入的整数num转为字符串形式num_str. 2.从num_str第一个位置开始,对每个位置i,判断其之后的位置有没有比num_str[i]大的字符greater_n ...
最新文章
- B站疯传!拿走不谢!最全面的JAVA面试材料!完整版开放下载,叫我好人!
- 北师大毕彦超:AI和人类感知的相同点和不同点
- 一个操作系统的实现(1)
- Tensorflow之flags的用法介绍
- python所有的父类_python获取父类的子类(遍历,递归),并循环执行所有子类的某一方法...
- mysql一秒查询次数_单个select语句实现MySQL查询统计次数
- 复变函数系列(三 ) - 复变函数的积分
- mysql存儲過程返回值_java如何获得mysql存储过程的返回值
- poj 2773(容斥原理)
- sql 时间字符串转换
- 论文笔记_SLAM_Review_Visual simultaneous localization and mapping: a survey
- 微信公众号php支付设置回调,php微信公众号支付讲解(JSAPI)
- linux下配置nginx+rtmp+obs推流
- 苹果手机怎么投屏不了,苹果手机怎么投屏电脑
- boost电路输出电流公式_boost计算公式
- Python Re正则表达式之group(0)、group(1)
- H3C基础配置文档抄录10-ACL和QoS配置
- 插本计算机教程,广东专插本复习方法
- 金星DEM数据介绍与下载教程
- 苍穹插件常用事件与方法