【LeetCode】每日一题 2024_1_22 最大交换(模拟)

文章目录

  • LeetCode?启动!!!
  • 题目:最大交换
    • 题目描述:
    • 代码与解题思路

LeetCode?启动!!!


几百年没有见到题目描述这么短的题目了,泪目了

题目:最大交换

题目链接:670. 最大交换

题目描述:

代码与解题思路

func maximumSwap(num int) int {s := strconv.Itoa(num)maxIdx := len(s)-1p_i, q_max := -1, 0for  i := len(s)-2; i >= 0; i-- {if s[i] > s[maxIdx] { // 持续更新最大的数maxIdx = i} else if s[i] < s[maxIdx] { // s[i] 右边有更大的值, 保存下来, 等最后的时候交换p_i, q_max = i, maxIdx}}if p_i == -1 { // 不需要交换return num}// 转换成 byte 数组, 然后交换位置t := []byte(s)t[p_i], t[q_max] = t[q_max], t[p_i]ans, _  := strconv.Atoi(string(t))return ans
}

这类题目在刚开始学刷算法题的时候还是挺常见的,可以直接用暴力来解答,但是纯暴力的话,代码量会比较多,而且复杂度也会比较高,通常容易出现用例有情况没考虑到,然后成为 if 仙人,代码充满 if else 语句

我们需要先在草稿纸(如果你可以脑内模拟就当我没说)上模拟一下,把情况都考虑上,然后正序遍历,倒序遍历的思路都走上一遍,看看哪种比较容易去实现,做好标志位

多遇到几次类似的这种题目,就能逐渐得心应手了

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

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

相关文章

计算机缺失msvcp110.dll如何修复?只需学会这个5个方法,轻松解决dll问题

丢失msvcp110.dll文件可能会引发一系列广泛的问题&#xff0c;这个动态链接库文件对于Windows操作系统中某些应用程序的正常运行至关重要。当msvcp110.dll缺失时&#xff0c;用户可能会遭遇如程序无法启动、运行过程中突然崩溃、功能受限或完全失效等现象。具体来说&#xff0c…

蓝桥杯真题(Python)每日练Day4

题目 OJ编号2117 题目分析 第一种先采用暴力的思想&#xff0c;从第一根竹子开始&#xff0c;找到连续的高度相同的竹子&#xff0c;砍掉这些竹子&#xff0c;一直循环这个方法&#xff0c;直到所有的竹子高度都为1。很明显&#xff0c;依次遍历竹子的高度复杂度为O&#x…

air001研究笔记.基于arduino快速开发简单项目

一、air001芯片简介 air001是厂商合宙推出的一款tssop封装的mcu芯片。支持swd与串口烧录&#xff0c;多面向简单的功能简单类别的电子产品&#xff0c;因为官方文档齐全上手简易&#xff0c;所以也特别适合非专业爱好者乃至于幼儿编程。芯片内置资源&#xff1a;AIR001芯片数据…

智能小程序环境配置流程

App 与智能小程序 在用户使用 App 扫描小程序的二维码或者点击设备&#xff0c;尝试进入小程序时&#xff0c;系统会对 App 当前环境与小程序所需运行环境进行比对&#xff0c;确定环境配置兼容后&#xff0c;App 才能启动并运行小程序。 比对规则中&#xff0c;主要涉及&…

撤销 Commit 的提交的两种方式

已经将 commit 提交到了 GitHub 之上&#xff1a; 进行以下操作&#xff0c;需保证 stash 列表中有刚才提交的修改 首先&#xff0c;在本地回退版本&#xff0c;使用如下命令&#xff1a; git reset --hard HEAD^ ^ 的个数表示回退几个版本&#xff0c;^^ 表示回到上上个版本。…

Redis分布式系统:集群

"还不如留给花园&#xff0c;多一瞬色彩~" 当我们聊到“集群”这一个词&#xff0c;我们脑中构想出的画面&#xff0c;一定是多台机器&#xff0c;构成的分布式系统&#xff0c;这可以被称为一个“集群”。其实&#xff0c;在前篇的哨兵机制下&#xff0c;奇数个监控…

Led以1秒为周期闪烁

Led初始不亮,灯0.5s亮&#xff0c;0.5秒之后灭,周期为1s 1s周期20MHZ时钟25_000_000计数器,25位二进制 module led_flash (//端口列表CLK,reset_n,led );input CLK;input reset_n;output reg led;//计数器最大值 CNT_MAX counter_max//计数器周期 T_CLK 时钟频率是50MHZ 周…

【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程

内容包含笔者个人理解&#xff0c;如果错误欢迎评论私信告诉我 线性回归matlab部分参考了up主DR_CAN博士的课程 机器学习与概率论 在回归拟合数据时&#xff0c;根据拟合对象&#xff0c;可以把分类问题视为一种简答的逻辑回归。在逻辑回归中算法不去拟合一段数据而是判断输入…

git使用指南——以gitlab为例

注册gitlab 自行注册 新建项目 选择新建一个空白的项目 上传项目 clone项目地址到本地 执行完之后&#xff0c;会在目录下生成如下内容&#xff1a;进入里面&#xff0c;选择.git&#xff0c;要上传的内容&#xff08;资料或代码复制到该目录下&#xff09;&#xff1a;…

【MATLAB源码-第123期】基于matlab的SSK(空间位移键控)调制和QSSK(正交空间位移键控)调制误码率对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. SSK&#xff08;空间位移键控&#xff09;&#xff1a; - 基本原理&#xff1a;SSK是一种MIMO&#xff08;多输入多输出&#xff09;系统中的调制技术。它通过选择性地激活不同的发送天线来传输信息。在每个时间槽&…

Nuxt2.x Error页面返回自定义请求状态码

一、问题描述 最近接到一个需求&#xff0c;针对Nuxt2.x的一个项目进行SEO优化&#xff0c;需要对404页面的状态进行修改&#xff0c;将404页面的请求状态码改为301&#xff0c;而不是404&#xff1a; 二、解决方案 1.几种无效尝试 &#xff08;1&#xff09;layouts下的err…

多家头部企业宣布「启动鸿蒙原生应用开发」,你看好鸿蒙系统走向「独立」吗?

我觉得跟着国家对鸿蒙的推进&#xff0c;就知道发展前景肯定是没错的。并且现在已经走向独立道路。 华为鸿蒙是国家主推的操作系统项目&#xff0c;而之前由于美丽国的一系列制裁后。华为也终于崛起&#xff1b;在1月18号的华为鸿蒙仪式中&#xff0c;推出了HarmonyOSNEXT星空…

Java基础 - 09 Set之linkedHashSet , CopyOnWriteArraySet

LinkedHashSet和CopyOnWriteArraySet都是Java集合框架提供的特殊集合类&#xff0c;他们在特定场景下有不同的用途和特点。 LinkedHashSet是Java集合框架中的一种实现类&#xff0c;它继承自HashSet并且保持插入顺序。它使用哈希表来存储元素&#xff0c;并使用链表来维护插入…

centos查看1分钟内修改过的文件

linux查看1分钟内修改过的文件 find / -name ‘.’ -mmin -1 查询1分钟内修改过的日志 查询根目录下以log结尾&#xff0c;1分钟内修改过的文件 find / -name ‘*.log’ -mmin -1 下面的命令是查询当前目录下所有的文件&#xff0c;并且在30分钟内修改过的文件 这个可以根…

前端JavaScript篇之Javscript数组的常用方法有哪些?JavaScript判断数组的方式有哪些?

目录 Javscript数组的常用方法有哪些&#xff1f;JavaScript判断数组的方式有哪些&#xff1f;1. Array.isArray() 方法&#xff1a;2. instanceof 操作符&#xff1a;3. Object.prototype.toString.call() 方法&#xff1a;4. Array.from() 方法&#xff1a; Javscript数组的常…

Git学习笔记(第3章):Git常用命令

目录 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地库状态 3.4 添加暂存区 3.5 提交本地库 3.6 历史版本 3.7 修改文件 3.8 版本穿梭 小结 命令 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 …

Java如何优雅地判断对象是否为空

点击下载《Java如何优雅地判断对象是否为空》 1. 前言 在实际项目中&#xff0c;我们经常需要对各种变量或对象进行判空校验。这是因为&#xff0c;如果不进行判空校验&#xff0c;当遇到空值时&#xff0c;可能会导致程序出现NullPointerException异常。这是一种常见的运行时…

【INTEL(ALTERA)】为什么 Nios® V/g 处理器无法从指令紧耦合内存 (TCM) 启动?

说明 由于英特尔 Quartus Prime Pro Edition 软件版本 23.3 对Nios V/g 处理器的限制&#xff0c;Nios V/g 处理器无法直接从内存初始化的指令 TCM 启动。 造成这个问题的主要原因是指令中药只能作为指令存储器访问&#xff08;不支持作为指令和数据存储器&#xff09;。因此…

全国各城市绿地及绿化面积数据,shp/excel格式,2020-2022年

基本信息. 数据名称: 全国各城市绿地及绿化面积数据 数据格式: Shp、excel 数据时间: 2020-2022年 数据几何类型: 面 数据坐标系: WGS84 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1province省份名称2city城市名称4city_dm城市…

2401llvm,clang语法树简介

原文 ClangAST简介 幻灯片 介绍 Clang的AST与其他一些编译器生成的AST不同,因为它与编写的C代码和C标准类似.如,在AST中,按非简化形式提供括号式和编译时常量. 这使得Clang的AST非常适合重构. 可通过生成的Doxygen获得所有ClangAST节点的文档.搜索引擎也会索引doxygen的在…