LeetCode.670. 最大交换

题目

题目链接

分析

这道题的意思是我们只能交换一次,需要得到最大的数字。

我们的第一个想法就是要这个数字先变成一个数组,便于我们操作。
然后把数组最大的数放到第一个位置,如果最大的数字已经在第一个位置,那么就把次大的数放到第二个位置,依次递推…

如果数字为 nums =52767,我们肯定是要把最后一个7放到第一个位置,这样才能得到最大的数字,也即 72765。所以可以采取从后向前遍历的方式,只有大于的时候才更新下标即可。

总结:
我们先把这个数字变成一个数组,然后遍历这个数组,找到每一位后面最大的数字,如果这个最大的数字有多个,我们则取靠后位置的那个数字,一旦找到就结束遍历。

代码

class Solution {public int maximumSwap(int num) {if(num < 10) return num;char[] s = Integer.toString(num).toCharArray();for(int i = 0;i < s.length;i ++) {int maxIndex = i;// 如果遇到多个数字,取靠后面的数字,所以采取从后向前遍历的方式for(int j = s.length - 1;j >= i + 1;j --) {if(s[j] > s[maxIndex]) {maxIndex = j;}}// 说明 i 后面有大于 s[i] 的数字if(maxIndex != i) {char temp = s[i];s[i] = s[maxIndex];s[maxIndex] = temp;return Integer.parseInt(new String(s));}}return num;}
}

在这里插入图片描述

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

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

相关文章

【C++】C++中规范[ 类型转换标准 ] 的四种形式

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.回顾C语言中的类型转换1&#xff09…

RPC框架简介

RPC定义 远程过程调用&#xff08;Remote Procedure Call&#xff09;。RPC的目的就是让构建分布式计算&#xff08;应用&#xff09;更加简单&#xff0c;在提供强大的调用远程调用的同时不失去简单的本地调用的语义简洁性 RPC整体架构 服务端启动时首先将自己的服务节点信息…

一个golang小白使用vscode搭建Ununtu20.04下的go开发环境

文章目录 前言搭建go环境下载go安装包解压go压缩包完成安装配置环境变量编写一个helloword程序 安装VSCode插件安装智能提示插件安装go依赖包修改代理并重新安装依赖包 go.mod 和 go.workgo.modgo.work小试一下go.work 总结 前言 先交代一下背景&#xff0c;距离正式接触golan…

flask 与 小程序 购物车 展示功能

mina/pages/cart/index.wxml <!--index.wxml--> <view class"container"><view class"title-box" wx:if"{{ !list.length }}">购物车空空如也&#xff5e;</view><view class"to-index-btn" bindtap"…

Flutter 综述

Flutter 综述 1 介绍1.1 概述1.2 重要节点1.3 移动开发中三种跨平台框架技术对比1.4 flutter 技术栈1.5 IDE1.6 Dart 语言1.7 应用1.8 框架 2 Flutter的主要组成部分3 资料书籍 《Flutter实战第二版》Dart 语言官网Flutter中文开发者社区flutter 官网 4 搭建Flutter开发环境参考…

【漏洞复现】CloudPanel makefile接口远程命令执行漏洞(CVE-2023-35885)

文章目录 前言声明一、CloudPanel 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 CloudPanel 是一个基于 Web 的控制面板或管理界面&#xff0c;旨在简化云托管环境的管理。它提供了一个集中式平台&#xff0c;用于管理云基础架构的各个方面&#xff0c;包括 &a…

nginx基于IP的多虚拟主机

结合这篇文章一起&#xff1a;nginx虚拟主机-CSDN博客文章浏览阅读63次。虚拟主机指的就是一个独立的站点配置&#xff0c;是nginx默认支持的一个功能&#xff0c;它能够有自己独立的域名&#xff0c;独立的ip&#xff0c;独立的端口配置&#xff0c;能够配置完整的www服务&…

网络编程 | 网络综合

一、网络综合 1、从浏览器地址栏输入URL到显示主页的过程 大致会经历下面这些流程&#xff0c;如下&#xff1a; DNS解析&#xff1a;将域名解析成对应的IP地址TCP链接&#xff1a;与服务器通过三次握手&#xff0c;建立TCP链接向服务器发送HTTP请求服务器处理请求&#xff0c…

ubuntu安装vm和Linux,安装python环境,docker和部署项目(一篇从零到部署)

1、下载Ubuntu Index of /releaseshttps://old-releases.ubuntu.com/releases/ 2、下载VMware 官方正版VMware下载&#xff08;16 pro&#xff09;&#xff1a;https://www.aliyundrive.com/s/wF66w8kW9ac 下载Linux系统镜像&#xff08;阿里云盘不限速&#xff09;&#xff…

JavaScript 学习笔记(WEB APIs Day2)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. JavaScript 学习笔记&#xff08;Day1&#xff09; 2. JavaSc…

算法每日一题:按分隔符拆分字符串 | 字符串 | 特殊位置判断

题目&#xff1a;leetcode 2788给你一个字符串数组 words 和一个字符 separator &#xff0c;请你按 separator 拆分 words 中的每个字符串。返回一个由拆分后的新字符串组成的字符串数组&#xff0c;不包括空字符串 。注意 separator 用于决定拆分发生的位置&#xff0c;但它…

【概率统计】区间估计 假设检验公式汇总

区间估计 假设检验公式汇总 最简单的一集

工业控制系统:HSLCommunication可以与PLC进行通信详解:C# HSLCommunication可以与 modbus tcp通信demo

当使用C#编程语言时&#xff0c;HSLCommunication库是一种常用的工具&#xff0c;用于实现与Modbus TCP通信。在本文中&#xff0c;我将为您提供详细的步骤和示例代码&#xff0c;以帮助您开始使用HSLCommunication库与Modbus TCP通信。 步骤1&#xff1a;安装HSLCommunicatio…

爬虫逆向开发教程1-介绍,入门案例

爬虫前景 在互联网的世界里&#xff0c;数据就是新时代的“黄金”。而爬虫&#xff0c;就是帮助我们淘金的“工具”。随着互联网的不断发展&#xff0c;数据量呈现指数级的增长&#xff0c;在数据为王的时代&#xff0c;有效的挖掘数据和利用&#xff0c;你会得到更多东西。 学…

SqlAlchemy使用教程(五) ORM API 编程入门

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用SqlAlchemy使用教程(五) ORM API 编程入门 前一章用SQL表达式(SQL Expr…

POJ - 3311 Hie with the Pie(Java JS Python C)

题目来源 3311 -- Hie with the Pie (poj.org) 题目描述 Pizazz披萨店以尽可能快地将披萨送到顾客手中而自豪。 不幸的是&#xff0c;由于削减开支&#xff0c;他们只能雇一个司机来送货。 司机将等待 1 个或更多 (最多10个) 订单被下达后再开始送餐。 不用说&#xff0c;…

第12章 项目质量管理

文章目录 项目质量管理包括把组织的质量政策应用于规划、管理、控制项目和产品质量要求&#xff0c;以满足干系人目标的各个过程。此外&#xff0c;项目质量管理以执行组织的名义支持过程的待续改进活动。 12.1管理基础 12.1.1质量与项目质量 1质量 国际标准化组织(ISO)对质量…

用于垃圾回收的运行时配置选项

反馈 本文内容 指定配置的方法垃圾回收的风格管理资源使用情况大型页面 显示另外 4 个 此页面包含有关 .NET 运行时垃圾回收器 (GC) 设置的信息。 如果你要尝试让正在运行的应用达到最佳性能&#xff0c;请考虑使用这些设置。 然而&#xff0c;在特定情况下&#xff0c;默认…

基于大整形的运算收录

目录 目录 目录 前言 为什么要大整数 大整形的加/减法 大整形的乘法 大整形除法 大整形开方 代码实现 前言 好久没有更新博客了&#xff0c;hhh。时隔三个月&#xff0c;我又回来了。先来点简单的大整形&#xff0c;虽说简单&#xff0c;但是在编写的时候还是debug了…

学校门禁管理技巧,一招轻松学会!

随着社会的不断发展和科技的不断进步&#xff0c;安全管理成为各个领域至关重要的议题之一。门禁监控系统作为现代安全管理的关键组成部分&#xff0c;不仅为建筑物提供了有效的访问控制&#xff0c;还在提高整体安全性和管理效率方面发挥了关键作用。 客户案例 公司办公楼门禁…