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

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。

相关文章:

  • 开源CDN软件GoEdge —— 筑梦之路
  • 常用的C语言宏定义
  • 阿里云国际版无法远程连接Windows服务器的排查方法
  • ACMMM 2024 ACM International Conference on Multimedia
  • 前端知识(十三)——JavaScript监听按键,禁止F12,禁止右键,禁止保存网页【Ctrl+s】等操作
  • 【Qt5】QVersionNumber
  • Mysql分布式集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上
  • 基于FPGA的视频接口之高速IO
  • Android渲染-AHardwareBuffer
  • 【Go-自学版】03-即时通信系统1
  • win 10 hp hotkey uwp service占用内存高解决方法
  • 班级管理的重要性
  • 关于加密解密,加签验签那些事
  • 数据库常用锁
  • j1冒个泡-排序的演变--扩展题
  • 时间复杂度分析经典问题——最大子序列和
  • __proto__ 和 prototype的关系
  • 【comparator, comparable】小总结
  • Git同步原始仓库到Fork仓库中
  • HTML-表单
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • maya建模与骨骼动画快速实现人工鱼
  • tab.js分享及浏览器兼容性问题汇总
  • Vue 重置组件到初始状态
  • 构建二叉树进行数值数组的去重及优化
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 想使用 MongoDB ,你应该了解这8个方面!
  • # 计算机视觉入门
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • %@ page import=%的用法
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (TOJ2804)Even? Odd?
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)Linq学习笔记
  • (转)VC++中ondraw在什么时候调用的
  • (转)德国人的记事本
  • (转载)利用webkit抓取动态网页和链接
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • //解决validator验证插件多个name相同只验证第一的问题
  • @RequestMapping用法详解
  • [《百万宝贝》观后]To be or not to be?
  • [ACM] hdu 1201 18岁生日
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [FUNC]判断窗口在哪一个屏幕上
  • [Godot] 3D拾取
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!