【教3妹学编程-算法题】消除相邻近似相等字符

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

瑟瑟发抖

3妹:好冷啊, 冻得瑟瑟发抖啦
2哥 : 又一波寒潮来袭, 外面风吹的呼呼的。
3妹:今天还有雨,2哥上班记得带伞。
2哥 : 好的
3妹:哼,不喜欢冬天,也不喜欢下雨天,要是我会咒语,一直停留在春天就好啦,四季如春。
2哥:想得美, 接受现实吧。四季如春不可能了,不过本周可以在一周内感受春夏秋冬。还有,再冷的天也别忘记刷题啊。
3妹:好的,我要上班去了,你发我微信上,我通勤路上看一下~

吃瓜

题目:

给你一个下标从 0 开始的字符串 word 。

一次操作中,你可以选择 word 中任意一个下标 i ,将 word[i] 修改成任意一个小写英文字母。

请你返回消除 word 中所有相邻 近似相等 字符的 最少 操作次数。

两个字符 a 和 b 如果满足 a == b 或者 a 和 b 在字母表中是相邻的,那么我们称它们是 近似相等 字符。

示例 1:

输入:word = “aaaaa”
输出:2
解释:我们将 word 变为 “acaca” ,该字符串没有相邻近似相等字符。
消除 word 中所有相邻近似相等字符最少需要 2 次操作。
示例 2:

输入:word = “abddez”
输出:2
解释:我们将 word 变为 “ybdoez” ,该字符串没有相邻近似相等字符。
消除 word 中所有相邻近似相等字符最少需要 2 次操作。
示例 3:

输入:word = “zyxyxyz”
输出:3
解释:我们将 word 变为 “zaxaxaz” ,该字符串没有相邻近似相等字符。
消除 word 中所有相邻近似相等字符最少需要 3 次操作

提示:

1 <= word.length <= 100
word 只包含小写英文字母。

思路:

思考

从左到右遍历 word,如果发现 word[i−1]和 word[i]近似相等,应当改 word[i−1]还是 word[i]?

如果改 word[i−1],那么 word[i]和 word[i+1]是可能近似相等的,但如果改 word[i],就可以避免 word[i]和 word[i+1]近似相等。

所以每次发现两个相邻字母近似相等,就改右边那个。

java代码:

public class Solution {public int removeAlmostEqualCharacters(String s) {int ans = 0;for (int i = 1; i < s.length(); i++) {if (Math.abs(s.charAt(i - 1) - s.charAt(i)) <= 1) {ans++;i++;}}return ans;}
}

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

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

相关文章

制造业对于IT软硬件监控和摄像头故障监控的需求

制造业对于生产线的自动化和智能化需求较高&#xff0c;IT监控运维管理软件在制造业的应用也日益普及。监控易为制造业提供了一系列定制化的解决方案&#xff0c;助力企业实现生产线的智能化和高效化。 随着制造业的数字化转型和智能化升级&#xff0c;IT运维管理软件的需求也在…

解决mfc140.dll丢失的方法有哪些?分享3个实测有效的方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“找不到指定的模块”或“无法加载某某.dll文件”。这些错误通常会导致程序无法正常运行&#xff0c;给用户带来很大的困扰。而mfc140.dll文件丢失就是其中之一。本文将介绍3个解决mfc14…

深入理解Java虚拟机---类加载机制

类加载机制 什么是类加载机制类加载的时机类加载的过程加载验证文件格式验证元数据验证字节码验证符号引用验证 准备解析初始化 类加载器双亲委派模型 什么是类加载机制 虚拟机把描述类的数据从 Class 文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff…

《PySpark大数据分析实战》-06.安装环境准备

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

Kafka集成springboot

安装kafka&#xff0c;直接到官网下载bin文件&#xff0c;本文使用windows进行使用kafka。 下载之后&#xff0c;第一步&#xff0c;启动zookeeper&#xff1a; zookeeper-server-start.bat ..\..\config\zookeeper.properties 第二步&#xff0c;启动kafka&#xff1a; kafka…

node.js基础

node.js基础 &#x1f353;什么是node.js&#x1f353;node.js模块&#x1f352;&#x1f352; 内置模块&#x1f345;&#x1f345;&#x1f345;fs模块&#x1f345;&#x1f345;&#x1f345;path模块&#x1f345;&#x1f345;&#x1f345;http模块 &#x1f352;&#…

1017 A除以B

本题要求计算 A/B&#xff0c;其中 A 是不超过 1000 位的正整数&#xff0c;B 是 1 位正整数。你需要输出商数 Q 和余数 R&#xff0c;使得 ABQR 成立。 输入格式&#xff1a; 输入在一行中依次给出 A 和 B&#xff0c;中间以 1 空格分隔。 输出格式&#xff1a; 在一行中依…

Matlab之让特别大的数字显示全,不用科学计数法的形式

一、常见大数显示形式 matlab会自动将特别大的数字&#xff0c;采用科学计数法显示。 bigNum 1234567890000000000000 二、显示大数所有位数 这里采用的是将数字转为字符&#xff0c;并用定点表示 bigNum 1234567890000000000000; bigNumstr num2str(bigNum, %.0f); % 使用…

如果我忽然嗝屁了,家人怎么继承我的财产

前言 笔者很喜欢的电影《寻梦环游记》有这么一句经典台词&#xff1a;“真正的死亡是世界上没有一个人记得你”。 然而&#xff0c;现实中我们所说的“死亡”&#xff0c;其实就是 他再不能与这个世界、与自己在乎的人有新的互动了。 本文&#xff0c;笔者想写一写 关于死亡的…

Java的String类常用方法 |StringBuilder和StringBuffer

文章目录 String类常用方法字符串查找转化字符串替换字符串拆分字符串截取其他操作方法 字符串的不可变性StringBuilder和StringBufferStringBuilder的介绍面试题 String类常用方法 字符串查找 方法功能char charAt(int index)返回index位置上字符&#xff0c;如果index为负数…

Python polars库:高性能数据操作的利器

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在数据处理和分析领域&#xff0c;Python一直以来都是一种热门的编程语言。近年来&#xff0c;随着数据量的增加和对性能的需求&#xff0c;一些新的数据处理库也逐渐崭露头角。其中&#xff0c;polars库作为一个…

Python面向对象之跨类调用(Python系列17)

在面向对象的思想中&#xff0c;常见的一个问题是&#xff1a; 老张开车去东北 针对于这句话&#xff0c;如何使用面向对象的思想去解决 # 跨类调用 class Person:def __init__(self, name"", age0, sex"男"):self.name nameself.age ageself.sex se…

c#编码技巧(十八):新语法糖record深入分析

c#编码技巧(十四)&#xff1a;新语法糖record深入分析 从 C# 9 开始新增了一个关键字record&#xff0c;用于封装数据。 record实质是微软提供的一个语法糖&#xff0c;因很多开源项目都用到了这个关键字&#xff0c;说明这个语法糖比较实用。 那么这个record类型和普通class类…

Playwright:下一代自动化测试工具

随着Web应用的普及&#xff0c;自动化测试变得越来越重要。在众多的自动化测试工具中&#xff0c;Playwright 是一个值得关注的新秀。本文将详细介绍 Playwright 的特点、优势以及如何使用它进行自动化测试。 一、Playwright 简介 Playwright 是一个用于自动化浏览器操作的 N…

C++ 11 初识2

一.新的类功能 默认成员函数 原来 C 类中&#xff0c;有 6 个默认成员函数&#xff1a; 构造函数 析构函数拷贝构造函数拷贝赋值重载 取地址重载const 取地址重载 C11 新增了两个&#xff1a;移动构造函数和移动赋值运算符重载。 针对移动构造函数和移动赋值运算符重载有一些需…

Python Paramiko库:SSH远程连接与文件传输实战指南

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在网络管理和系统运维中&#xff0c;SSH&#xff08;Secure Shell&#xff09;是一种广泛用于远程登录和文件传输的协议。Python中的Paramiko库为开发者提供了灵活、强大的SSH客户端和服务器功能。本文将深入探讨…

Codeforces Round 912 (Div. 2)

Codeforces Round 912 (Div. 2) A 大等于2依据冒泡排序即可排序&#xff0c;因此判断下1即可 #include <bits/stdc.h>using namespace std;const int N 1e5 10; int a[N];void solve() {int n , m;cin >> n >> m;for(int i 1 ; i < n ; i ){cin >…

有哪些话一听就知道一个程序员是个水货?

前端&#xff1a;你给我传个时间戳吧。 我&#xff1a;什么是时间戳&#xff1f; 前端&#xff1a;啊&#xff1f; 我&#xff1a;哦哦。我自己百度吧。

改dns会有什么影响?

改变DNS&#xff08;Domain Name System&#xff09;会对网络连接和域名解析产生影响。下面是一些可能的影响&#xff1a; 域名解析速度&#xff1a;DNS服务器的选择和性能可能会影响域名解析的速度。如果你更改为更快的DNS服务器&#xff0c;域名解析时间可能会缩短&#xff0…

LeetCode922. Sort Array By Parity II

文章目录 一、题目二、题解 一、题目 Given an array of integers nums, half of the integers in nums are odd, and the other half are even. Sort the array so that whenever nums[i] is odd, i is odd, and whenever nums[i] is even, i is even. Return any answer a…