LeetCode670.最大交换

我真的怀疑他是不是难度等级评错了,因为感觉没到中级,总之先看题吧

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

示例 1 :

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

示例 2 :

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

注意:

  1. 给定数字的范围是 [0, 10^8]

这个题只要你思路对了很快就能写出来

我们要至多可以交换一次数字中的任意两位,得到的最大值,那肯定是把大的数字放在高位,小的数字放在低位,所以思路就是从高位向低位历遍,发现某位的数字比右边的数字最大值小就交换位置,然后返回值。

4123->4321      因为1的右边最大是3所以1和3交换位置

 int maximumSwap(int num) {

     char* p = (char*)calloc(10, sizeof(char));

     int i = 0;

     int su=num;

     while (num)

     {

         p[i++] = num % 10;

         num /= 10;

     }

     for (int j = i - 1; j > 0; j--)

     {

         int max = j;

         for (int x = j - 1; x >= 0; x--)

             if (p[max] < p[x])

                 max = x;

             else if (p[max] == p[x] && max != j)

                 max = x;

         if (max != j)

         {

             int a = p[j];

             p[j] = p[max];

             p[max] = a;

             int sum = 0;

             while (i-1>=0)

             {

                 sum = sum * 10 + p[i-1];

                 i--;

             }

             return sum;

         }

     }

     return su;

 }

AC

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

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

相关文章

常用的三维尺寸公差分析软件有哪些?各有什么特点?

公差分析软件主要用于产品设计和制造过程中&#xff0c;帮助工程师们评估和控制产品的尺寸和公差。以下是一些常用的公差分析软件&#xff1a; 1.DTAS3D是一种用于三维尺寸公差分析的软件系统。 DTAS软件可以帮助工程师和设计师对零件和装配体的尺寸公差进行分析&#xff0c;…

Python os模块

简介 Python的os模块是一个标准库模块&#xff0c;用于提供与操作系统相关的功能&#xff08;相当于接口&#xff09;。os模块允许Python程序与文件系统、目录结构、进程管理等操作系统级别的功能进行交互。 主要功能 文件和目录操作 创建、删除、重命名文件和目录&#xf…

centos7安装pip

centos7 没有python-pip包就执行命令 yum -y install epel-release 执行成功之后&#xff0c;再次执行 yum install python-pip 对安装好的pip进行升级 pip install --upgrade pip 至此&#xff0c;pip工具就安装好了。 所有的问题都是最后一刻解决&#xff0c;如果没有解决…

智慧工业园区建设方案-智慧化工园区物联网管理系统平台---豌豆云

将化工园区海量信息互联、互通、互融&#xff0c;结合化工园区建设管理经验&#xff0c;通过“动态感知、主动监测、政企联动、综合管理”。 将事件管理从事后处置变为事前防控&#xff0c;保障生产安全&#xff0c;提升环保水平&#xff0c;结合可视化大屏&#xff0c;帮助管…

静态路由实验

一&#xff1a;实验内容 二&#xff1a;实验分析 &#xff08;一&#xff09;&#xff1a;实验要求 1、R6为ISP&#xff0c;接口IP地址均为公有地址&#xff1b;该设备只能配置IP地址&#xff0c;之后不能再对其进行其他任何配置&#xff1b; 2、R1-R5为局域网&#xff0c…

Vue.js代码检查

一、CSS 1、属性可安全的替换为速记形式 .el-dialog .el-dialog__header .el-dialog__body {padding: 0 40px;padding-top: 4px;}.el-dialog .el-dialog__header .el-dialog__body {padding: 4px 40px 0;} 2、度量单位冗余 padding: 0px 20px;// 修改后 padding: 0 20px; 3、…

过滤器监听器拦截器AOP

过滤器、监听器、拦截器、AOP的实现 一、过滤器 Filter ​ 在传统的Servlet容器中&#xff0c;可以使用过滤器和监听器&#xff0c;在Java框架中还可以使用拦截器。 ​ 过滤器&#xff0c;这里指的是Servlet过滤器&#xff0c;它是在Java Servlet中定义的&#xff0c;能够对…

EasyExcelFactory 导入导出功能的实战使用

EasyExcelFactory 导入导出功能的实战使用分享&#xff1a; 1、jar包引入 <!-- 阿里巴巴Excel处理--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.6</version></dependen…

1、Seaborn可视化库

你的数据可视化编程初体验! Seaborn是一个基于matplotlib的图形可视化Python库,它提供了一种高级的API接口,使得制作统计图形更加容易。 Seaborn的目标是使可视化成为探索和理解数据的核心部分,它面向数据集的绘图功能对整个数据集进行操作,并在内部执行必要的语义映射和统…

Python - 【Socket】消息粘包处理demo(一)

一. 前言 在网络编程中&#xff0c;粘包是指TCP协议在传输过程中&#xff0c;多条数据被合并成一条数据发送或者一条数据被拆分成多个数据发送的现象。 二. 粘包问题的常规处理方法&#xff1a; 使用固定长度的包头 可以在发送数据前先发送一个固定长度的包头&#xff0c;包…

个人云服务器docker搭建部署前后端应用-myos

var code "87c5235c-b551-45bb-a5e4-9593cb104663" mysql、redis、nginx、java应用、前端应用部署 本文以单台云服务器为例&#xff1a; 1. 使用腾讯云服务器 阿里或其他云服务器皆可&#xff0c;类似 安装系统&#xff0c;现在服务器系统都集成安装了docker镜像&a…

Vue中的模式和环境变量

文章目录 一、介绍二、配置1、环境文件2、变量使用 三、读取环境文件 一、介绍 vue官网&#xff1a;https://cli.vuejs.org/zh/guide/mode-and-env.html模式是 Vue CLI 项目中一个重要的概念。默认情况下&#xff0c;一个 Vue CLI 项目有三个模式 开发环境&#xff1a;develop…

[ACM学习]自上而下树形dp

问题引入 设置dp状态&#xff0c;相比于更容易出错的贪心更...不易出错。 状态设计 如果选择父结点&#xff0c;就会使孩子结点不能被选择&#xff0c;我们会多开一维的dp&#xff0c;用来标记该点是否被标记过。 以1点举例&#xff0c;f[1][0]为不选它的状态&#xff0c;那么…

微机原理 常考实验 第(二)弹~

1&#xff0c;已知在AX&#xff0c;BX中放32位有符号的二进制数&#xff0c;求其绝对值送入CX&#xff0c;DX中&#xff0c;其中AX&#xff0c;CX放高位。 分析&#xff1a;就是 AX: BX双字的绝对值放到CX: DX的双字中 &#xff08;1&#xff09;先判断AX,BX是不是为正&#…

大数据学习之Flink、Flink容错机制的注意事项

第一章、Flink的容错机制 第二章、Flink核心组件和工作原理 第三章、Flink的恢复策略 第四章、Flink容错机制的注意事项 第五章、Flink的容错机制与其他框架的容错机制相比较 目录 第四章、Flink容错机制的注意事项 Ⅰ、注意事项 1. Checkpoint的稳定性&#xff1a; 2.…

FOR XML PATH 函数与同一分组下的字符串拼接

FOR XML PATH 简单介绍 FOR XML PATH 语句是将查询结果集以XML形式展现&#xff0c;通常情况下最常见的用法就是将多行的结果&#xff0c;拼接展示在同一行。 首先新建一张测试表并插入数据&#xff1a; CREATE TABLE #Test (Name varchar(70),Hobby varchar(70) );insert #T…

芯驰E3340软件编译以及更新步骤

打开已有工程File->Open Solution: 东南项目&#xff1a;e3340\boards\e3_324_ref_display\proj\jetour-t1n-fl3\sf\SES 编译&#xff1a;build->build sf 增加头文件和宏定义&#xff1a; 编译完成sf后&#xff0c;进行编译bootloader 东南项目&#xff1a;e3340\boa…

C Primer Plus(第六版)13.11 编程练习 第8题

/* 编写一个程序&#xff0c;以一个字符和任意文件名作为命令行参数。如果字符后面没有参数&#xff0c;该程序读取标 准输入:否则&#xff0c;程序依次打开每个文件并报告每个文件中该字符出现的次数。文件名和字符本身也 要一同报告。程序应包含错误检查&#xff0c;以确定参…

IaC基础设施即代码:Terraform 创建ACK集群 与部署应用

目录 一、实验 1.环境 2.Terraform 创建网络资源 3. 阿里云给RAM添加权限 4.Terraform 创建 ACK集群 5.在ACK集群中部署应用 6.销毁资源 二、问题 1.Terraform 验证失败 2.Terraform申请资源失败 一、实验 1.环境 &#xff08;1&#xff09;主机 表1-1 主机 主机系…

火山引擎ByteHouse:“专用向量数据库”与“数据库+向量扩展”,怎么选?

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 背景 随着LLM&#xff08;Large Language Model&#xff09;的不断发展&#xff0c;向量检索也逐渐成为关注的焦点。LLM通过处理大量的文本数据&#xff0c;获取丰…