Leetcode 2957. Remove Adjacent Almost-Equal Characters

  • Leetcode 2957. Remove Adjacent Almost-Equal Characters
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2957. Remove Adjacent Almost-Equal Characters

1. 解题思路

这一题其实不是很想放上来的,因为其实真的很简单,但是我惊讶地发现当前提交的算法实现耗时都很高,都在3000ms以上,然后我这个只有38ms,就很懵逼……

我的思路一个贪婪算法,找到所有连续的almost equal的substring,他们所有的都必须要进行改变,而要改变一个长度为n的substring,所需要的最少变换次数就是 ⌊ n 2 ⌋ \lfloor \frac{n}{2} \rfloor 2n。由此,我们就可以直接得到答案了。

2. 代码实现

给出python代码实现如下:

class Solution:def removeAlmostEqualCharacters(self, word: str) -> int:ans, cnt = 0, 0pre = "."for ch in word:if abs(ord(ch) - ord(pre)) <= 1:cnt += 1else:ans += cnt // 2cnt = 1pre = chans += cnt // 2return ans

提交代码评测得到:耗时38ms,占用内存16.3MB。

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

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

相关文章

【EI会议征稿】第三届光学与机器视觉国际学术会议(ICOMV 2024)

第三届光学与机器视觉国际学术会议(ICOMV 2024) 2024 3rd International Conference on Optics and Machine Vision 第三届光学与机器视觉国际学术会议(ICOMV 2024)将于2024年1月19-21日在中国南昌举行。本次会议将围绕“光学”与"机器视觉”等研究领域展开讨论&#xf…

kmp算法超详细

在计算机科学中&#xff0c;字符串匹配是一个常见的问题。给定一个文本串和一个模式串&#xff0c;我们需要在文本串中找到所有与模式串匹配的位置。传统的字符串匹配算法如暴力匹配&#xff08;Brute Force&#xff09;方法在最坏情况下的时间复杂度为O(m*n)&#xff0c;其中m…

Java实现minio

配置Dapplication.yml minio:access-key: minioadminsecret-key: minioadminbucket-name: file #指定桶名称endpoint: http://localhost:9000 实现代码minioContriller.java package com.setsail.setsailcusserver.controller;import com.alibaba.fastjson.JSONObject; impo…

万界星空科技五金家具行业MES解决方案

MES系统如何与家具企业生产相匹配&#xff1f;相较于其它大多数工业软件&#xff0c;MES系统无疑是受企业欢迎的软件之一。MES系统处于制造生产企业信息化的核心领域&#xff0c;有着承上启下的作用。那MES系统如何与家具企业生产相匹配&#xff1f; 五金家具行业的工艺特点&am…

最简单的pixel刷机和安装面具、lsposed

一 下载手机对应的系统 1&#xff0c;手机usb连接然后重启进入Fastboot模式&#xff1a;adb reboot bootloader2&#xff0c;找到你下载的系统&#xff0c;Windows 系统 直接运行 flash-all.bat上图 &#xff1a;左边就是安卓11和12的系统&#xff0c;右边是对应的手机型号 下…

mysql:修改整数字段的显式长度不生效

例如&#xff0c;我使用mysql 8.2.0版本&#xff0c;想修改整数字段的显式长度&#xff0c;不会生效&#xff0c;提醒整数的显示长度已经废弃&#xff0c;会在将来某个版本去掉&#xff1a; mysql官网中也有说明&#xff1a; https://dev.mysql.com/doc/refman/8.2/en/numeric…

带阻滤波器:原理、应用及性能分析?|深圳比创达电子EMC

在现代电子技术和通信领域中&#xff0c;滤波器是一种常见的电路元件&#xff0c;用于处理信号&#xff0c;去除不需要的频率成分或者增强感兴趣的频率成分。本文将重点探讨带阻滤波器&#xff0c;它是一种特殊类型的滤波器&#xff0c;具有在特定频率范围内抑制信号的功能。我…

SSD自己也能复制粘贴?浅谈NVMe 2.0 Copy Command命令

复制粘贴&#xff08;CtrlC/V&#xff09;作为现代打工人日常办公的必备生存技能&#xff0c;想必大家都非常熟悉。但你知道吗&#xff0c;其实SSD自身也能进行这个非常实用的操作。可能有的读者要说了&#xff1a;这有什么稀奇&#xff0c;复制粘贴这么简单的功能&#xff0c;…

腾讯字节常考的linux命令

1 ps 1.1 ps -ef 有哪些字段 ps -ef 命令在Unix/Linux系统中用于显示当前运行的进程。输出的字段通常包括&#xff1a; UID&#xff1a;启动进程的用户ID。PID&#xff1a;进程ID。PPID&#xff1a;父进程ID。C&#xff1a;CPU利用率。STIME&#xff1a;进程启动时间。TTY&a…

安卓上比iOS快捷指令更强大的工具——MacroDroid

使用 MacroDroid (Android) 自动化您的日常生活——一个简单的自动化应用程序&#xff0c;用于在 Android 上自动执行任务以及如何在其上自动执行任务。 iOS 和 Android 之间的区别? iOS和Android是两种不同的移动操作系统&#xff0c;iOS由苹果公司开发&#xff0c;于2007年…

conda配环境问题合集

&#xff08;CtrlF&#xff0c;请&#xff09; 问题&#xff1a; File "F:\Anaconda3\envs\YOLOv5\lib\ssl.py", line 773, in __init__ raise ValueError("check_hostname requires server_hostname") ValueError: check_hostname requires server_h…

Vue2解决pinia刷新后数据丢失的问题

Pinia&#xff1a;官网 Pinia 是一个 Vue.js 状态管理库&#xff0c;如果你在组件中修改了 store 中的数据并刷新了界面&#xff0c;Pinia 会将 store 中的数据重置为初始值&#xff0c;从而导致数据丢失的问题。 这里给出vue2的解决方案&#xff1a; 可以使用 Pinia 的 Per…

当接口要加入新方法时,我后悔没有早点学设计模式了

&#x1f4e2; 声明&#xff1a; &#x1f344; 大家好&#xff0c;我是风筝 &#x1f30d; 作者主页&#xff1a;【古时的风筝CSDN主页】。 ⚠️ 本文目的为个人学习记录及知识分享。如果有什么不正确、不严谨的地方请及时指正&#xff0c;不胜感激。 直达博主&#xff1a;「…

PP材料粘接ABS材料使用UV胶的好处?

跟随着现阶段材料的不断发展更迭&#xff0c;PP材料应用越来越广&#xff0c;生产效率要求越来越高&#xff0c;为了加快生产&#xff0c;提高效率&#xff0c;PP材料的粘接上使用UV胶粘接PP&#xff08;聚丙烯&#xff09;和ABS&#xff08;丙烯腈-丁二烯-苯乙烯共聚物&#x…

python Open3D加载obj

pip安装Open3D python -m pip install open3d示例代码 import numpy as np import open3d as o3dpath_obj test/assimp-5.2.5/test/models/OBJ/box.objmesh o3d.io.read_triangle_mesh(path_obj, enable_post_processingTrue)print(np.asarray(mesh.vertices))mesh.compute…

Jenkins:持续集成与持续交付的自动化利器

随着软件开发行业的快速发展&#xff0c;持续集成&#xff08;Continuous Integration&#xff0c;简称CI&#xff09;和持续交付&#xff08;Continuous Delivery&#xff0c;简称CD&#xff09;已经成为了现代软件开发的重要理念。Jenkins作为一款开源的持续集成和持续交付工…

企业可以利用SD-WAN打破网络限制,实现高效稳定的应用访问

在当今数字化时代&#xff0c;我们面临着越来越多复杂应用和各种类型的数据传输。企业需要实时访问云应用、视频会议等关键应用&#xff0c;不断增长的访问流量&#xff0c;导致应用访问速度变得越来越慢&#xff0c;给工作效率和用户体验带来了很大困扰。 SD-WAN是否能够解决这…

javaSwing酒店管理

一、介绍 在这篇博客中&#xff0c;我们将介绍一个基于MySQL数据库、Java编程语言和Swing图形用户界面的简单酒店管理系统。该系统包括了查询房客信息、查询房客状态、修改房客信息、添加房间信息、添加住户、退房管理、预定管理、退订管理、入账管理、出账管理、修改资料等多…

0009Java程序设计-ssm微信小程序在慢性疾病管理中的应用

文章目录 **摘要**目录系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘要 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例…

极坐标曲线@典型的4种曲线

文章目录 abstract典型曲线心形线玫瑰线阿基米德螺线伯努利双扭线 abstract 除了圆和圆锥曲线外,还有许多曲线用极坐标描述会简单得多 典型曲线 分析下列曲线时,线分析是否含有三角函数(周期性) 利用描点法做出单个周期内的图形 作图:可以打开geogebra https://www.geogebr…