前端算法题:3216. 交换后字典序最小的字符串(力扣每日一题)
今日题目为:3216. 交换后字典序最小的字符串
题目详情:
给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。
如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。
示例:
示例 1:
输入: s = "45320"
输出: "43520"
解释:
s[1] == '5'和s[2] == '3'都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。示例 2:
输入: s = "001"
输出: "001"
解释:
无需进行交换,因为
s已经是字典序最小的。
解题思路:
首先题目描述说了需要交换一次相邻且具有奇偶性的数字,那么s为字符串,需要交换的话就需要遍历且也要方便交换位置,那么就把s转换为数组形式,在进行遍历,首先需要两数进行交换判断,那么就要想到数组的长度是否为偶数,即i+1<arr.length。首先将遍历元素转换为数字形式,在进行判断两个数字奇偶性是否相同,如果相同再进行判断谁在数字表中最先出现,即谁最小,再根据结果进行交换位置,最后将数组转换为字符串形式输出。
具体解决代码:
var getSmallestString = function(s) {const arr = s.split('')for(let i = 0; i<arr.length;i++){if(i+1<arr.length){const num1 = parseInt(s[i],10)const num2 = parseInt(s[i+1],10)if((num1%2) === (num2%2)){if(num1>num2){let temp = arr[i]arr[i] = arr[i+1]arr[i+1] = tempbreak}}}}return arr.join('')
};
相关文章:
前端算法题:3216. 交换后字典序最小的字符串(力扣每日一题)
今日题目为:3216. 交换后字典序最小的字符串 题目详情: 给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。 如果两个数字都是奇数或都是偶数,则…...
29.1 时序监控和日志监控的对比,分析日志监控的核心诉求
本节重点介绍 : 监控系统分类时序监控和日志监控的对比轻量日志监控系统的诉求 监控系统分类 监控系统按照原理和作用大致可以分为三类 日志类(Log)调用链类(Tracing)度量类(Metrics) 日志类(…...
git仓库分支
操作 切换分支 git checkout 1.2.5 git checkout 1.3.0 使用命令切换分支之后,代码内容加载过后也是切换好的...
多模态机器学习在精准健康中的应用--九五小庞
这篇综述文章探讨了将多模态数据融合应用于医疗诊断和预后预测的最新研究进展。 本文作者们确定了三个主要的研究问题:多模态数据融合在健康领域的文献特征是什么?用于分析多模态健康数据的不同分析技术、方法和策略是什么?不同类型的异构数…...
提升网站速度与性能优化的有效策略与实践
内容概要 在数字化快速发展的今天,网站速度与性能优化显得尤为重要,它直接影响用户的浏览体验。用户在访问网站时,往往希望能够迅速获取信息,若加载时间过长,轻易可能导致他们转向其他更为流畅的网站。因此࿰…...
MySQL索引从基础到原理,看这一篇就够了
https://developer.aliyun.com/article/841106 https://zhuanlan.zhihu.com/p/29118331 索引创建使用总结 因为索引对于改善查询性能的作用是巨大的,所以我们的目标是尽量使用索引。 1. 索引的创建 • 1、在用于 where 判断 order 排序和 join 的(on)字段上创…...
普通高考预报名上传蓝底证件照手机自拍方法详解
普通高考预报名过程中,上传一张合规的蓝底证件照是必不可少的一步。本文将详细介绍如何使用手机自拍并使用工具来制作符合要求的蓝底证件照。注意,目前仅有广东等个别省份允许特定类型考生使用自拍照上传(例如普高预报名阶段、学考报名&#…...
Webserver(2.3)exec函数族
目录 exec函数族介绍execl函数execlp函数 exec函数族介绍 c语言中没有重载,因为不允许同名函数 一系列功能相似的函数称为函数族 exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容。 程序在运行的时候,fork一…...
LeetCode Hot100 - 子串篇
前言 挑战一个月刷完力扣的hot100,记录一下每题的思路~ 这次是子串相关的题目 (1)560. 和为 K 的子数组 ①暴力枚举,使用一个变量sum记录以l开头r结尾的情况 class Solution {public int subarraySum(int[] nums, int k) {int r…...
【Android】Convenient ADB Commands
Install adb install -r <path>Uninstall adb uninstall <pkg>Start adb shell am start -n <pkg>/.SplashActivityStop adb shell am force-stop <pkg>Reset adb shell pm clear <pkg>Reboot adb rebootShutdown adb reboot -p...
elementUI 时间控件控制时间选择
选择时间大于当前月或小于2024年一月禁止选择 <el-form-item label"成交月份:" label-width"105px" ><div class"block"><el-date-pickerv-model"formData.deal_month"type"month":picker-options"pick…...
什么是x86架构,什么是arm架构
什么是 x86 架构? x86 架构是一种经典的指令集架构(ISA),最早由英特尔在 1978 年推出,主要用于 PC、服务器等领域。 它是一种复杂指令集计算(CISC)架构,支持大量的复杂指令和操作&…...
c语言水仙花,超简单讲解
效果 3或者大于3位数 每一位的位数次方相加等于 自身 例如 153 13 53 33 结果为112527 153 1634: 计算过程: 14643444112968125616341^4 6^4 3^4 4^4 1 1296 81 256 16341464344411296812561634 过程 求得单独将所有位数的正数拎出来…...
Flutter 13 网络层框架架构设计,支持dio等框架。
在移动APP开发过程中,进行数据交互时,大多数情况下必须通过网络请求来实现。客户端与服务端常用的数据交互是通过HTTP请求完成。面对繁琐业务网络层,我们该如何通过网络层架构设计来有效解决这些问题,这便是网络层框架架构设计的初…...
Python小白学习教程从入门到入坑------第二十课 闭包修饰器(语法基础)
一、递归函数 1.1 基本信息 递归函数是指一个函数在其定义中直接或间接地调用了自身 递归在解决许多问题(如树的遍历、图的搜索、数学中的分治算法等)时非常有用 在Python中,递归函数可以通过简单的语法来实现 然而,使用递归…...
Vue+element-ui实现网页右侧快捷导航栏 Vue实现全局右侧快捷菜单功能组件
Vue+element-ui实现网页右侧快捷导航栏 Vue实现全局右侧快捷菜单功能组件 可视区域没超过当前屏幕高度时候只显示三个菜单效果 可视区域超过当前屏幕高度时,显示可回到顶部菜单的,当然这个菜单显示条件可以自定义,根据需求设置 然后将这个整体功能创建为一个全局组件 代…...
如何配置,npm install 是从本地安装依赖
在 Node.js 中,要使npm install从本地安装依赖,可以按照以下步骤进行配置: 一、准备本地依赖包 确保你有本地的依赖包。这个依赖包可以是一个包含package.json文件的文件夹,或者是一个已经打包好的.tgz文件。 二、使用相对路径…...
Python画图3个小案例之“一起看流星雨”、“爱心跳动”、“烟花绚丽”
源码如下: import turtle # 导入turtle库,用于图形绘制 import random # 导入random库,生成随机数 import math # 导入math库,进行数学计算turtle.setup(1.0, 1.0) # 设置窗口大小为屏幕大小 turtle.title("流星雨动画&…...
Knife4j配置 ▎使用 ▎教程 ▎实例
knife4j简介 支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。 提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试.参数和格式都…...
电子电气架构 --- 车载芯片现状
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧…...
ADC类型解析与选型指南:从闪存到ΔΣ
1. ADC基础概念与核心原理在电子系统中,模拟信号到数字信号的转换(ADC)是实现物理世界与数字世界交互的关键桥梁。作为一名嵌入式开发者,我经常需要根据项目需求选择不同类型的ADC拓扑结构。让我们先拆解ADC的核心工作机制。ADC转…...
从 LLM 到 OpenClaw:七步看懂 Prompt、Memory、MCP、Skills、Agent
从 LLM 到 OpenClaw:七步看懂 Prompt、Memory、MCP、Skills、Agent 这两年 AI 术语越来越多:LLM、MCP、Agent、Skills、OpenClaw。 如果你不是技术背景,第一次看到这串词,基本都会懵。下面我用一个统一场景来讲:把 AI…...
他没有打断我,没有说“小孩子懂什么” ,30岁这年,我不仅拿到了父亲的认可,更拿到了他毫无保留的信任
30岁这年,我和我爸 今天和我爸坐在阳台的小茶桌前,泡了他藏了快十年的普洱,烟缸里攒了四根烟蒂,聊了整整两个小时。 散场的时候我站在窗边看他下楼开车,突然反应过来——我们今天这场对话,从头到尾没有一句“你要听话”,没有一句“钱够不够花”,没有长辈居高临下的说…...
基于Copula函数的多风场出力相关性分析场景生成与聚类削减方法(MATLAB实现)
考虑多风场出力相关性的可再生能源场景生成/风电场景生成,并通过聚类算法场景削减成几个场景,每个场景都有确定的出现概率。 完美复现《考虑多风电场出力 Copula 相关关系的场景生成方法》 Copula 函数(连接函数)描述空间相邻风电场间的相关性࿰…...
ngx_sort
1 定义 ngx_sort 函数 定义在 ./nginx-1.24.0/src/core/ngx_string.cvoid ngx_sort(void *base, size_t n, size_t size,ngx_int_t (*cmp)(const void *, const void *)) {u_char *p1, *p2, *p;p ngx_alloc(size, ngx_cycle->log);if (p NULL) {return;}for (p1 (u_char…...
拆解Clonezilla镜像:除了partclone,你还需要知道的底层原理与工具链
拆解Clonezilla镜像:从分卷压缩到文件系统的技术全景解析 当我们需要从Clonezilla备份中提取单个文件时,传统方法往往要求完整恢复整个镜像——这种"全有或全无"的方式在存储资源有限的情况下显得尤为笨重。本文将带您深入Clonezilla镜像的底层…...
从一次现场故障说起:如何通过分析三相变压器感应电动势的谐波来预判铁芯隐患?
三相变压器谐波诊断实战:从波形异常到铁芯隐患精准预判 去年夏天,某220kV变电站的主变在例行巡检中被发现输出电压波形出现明显畸变——这本是电力运维中常见的"小异常",但当我们深入分析谐波成分后,却揭露出一个潜在的…...
文章标题:基于高阶温度补偿的低温漂带隙基准电压源设计
带隙基准,超低温漂,1.9,高电源抑制比,低功耗,高阶温度补偿带隙基准,cadence 低温漂基准电压源设计 ppm:1.9 PVT下,ppm<20 psrr:-90dB,0~100kHz 电流&…...
别再只盯着报点率了:聊聊电容触摸屏算法里那些不为人知的‘软实力’
电容触摸屏算法的隐秘战场:超越报点率的技术博弈 在智能家居面板的清晨唤醒中,工业HMI产线的精准操控里,或是车载中控的流畅滑动间,电容触摸屏已成为人机交互的核心界面。当大多数技术选型讨论聚焦于报点率、触控精度这些硬指标时…...
终极Limbus Company自动化助手:5大功能彻底解放你的双手
终极Limbus Company自动化助手:5大功能彻底解放你的双手 【免费下载链接】AhabAssistantLimbusCompany AALC,PC端Limbus Company小助手。AALC,Limbus Company Assistant on PC 项目地址: https://gitcode.com/gh_mirrors/ah/AhabAssistantL…...
