当前位置: 首页 > article >正文

【从零开始的LeetCode-算法】3216. 交换后字典序最小的字符串

给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。

如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。

示例 1:

输入: s = "45320"

输出: "43520"

解释:

s[1] == '5' 和 s[2] == '3' 都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。

示例 2:

输入: s = "001"

输出: "001"

解释:

无需进行交换,因为 s 已经是字典序最小的。

提示:

  • 2 <= s.length <= 100
  • s 仅由数字组成。

我的解答:

class Solution {
    public String getSmallestString(String s) {
        // 转换数组形式
        char[] ch = s.toCharArray();
        for(int i = 0 ; i < ch.length - 1; i++){
            // 判断当前值与后一值相加是否为偶数,且当前值比后一个值大
            if((ch[i] + ch[i + 1]) % 2 == 0 && ch[i] > ch[i + 1]){
                // 替换位置
                char temp = ch[i];
                ch[i] = ch[i + 1];
                ch[i + 1] = temp;
                return new String(ch);
            }
        }
        return new String(ch);
    }


http://www.kler.cn/a/373073.html

相关文章:

  • windows下安装python库wordCloud报错
  • 11-Dockerfile
  • Pytorch学习--神经网络--线性层及其他层
  • 安卓登录页面设计(无跳转版本)
  • 计算机视觉-对极几何
  • Linux开放端口问题(同一局域网)
  • MaskGCT,零样本语音克隆,TTS语音合成,多语言支持(WIN/MAC)
  • mac|maven项目在idea中连接redis
  • 智能合约分享
  • CSS浮雕效果
  • C++: String容器的使用和实现
  • 【MySQL】日志
  • QT中使用图表之QChart概述
  • 排查公网NAT网关中高流量ECS实例
  • 想要分离人声,来试试看这几个方法
  • 使用PE工具箱进行系统安装
  • 企业新闻及产品宣传稿怎么写?有哪些商业财经类报纸杂志或媒体发布?
  • 串口扫盲TTL,TX/TR/GND
  • 统计数据集的TXT、XML及JSON标注文件中各类别/每个标签的数量
  • threejs开源实例-粒子地球
  • ElasticSearch 入门需要了解的概念
  • 【模型学习之路】手写+分析Transformer
  • 2024第二次随堂测验参考答案
  • 【C++】——高效构建与优化二叉搜索树
  • docker容器和宿主机端口映射
  • Linux 命令行学习:数据流控制、文本处理、文件管理与自动化脚本 (第二天)