"""
题目:给定一个字符串传,请判断如果最多从字符串中删除一个字符能不能得到一个回文字符串。
例如,如果输入字符串’ABCA‘,由于删除字符’B'或者‘C'就能得到一个回文字符串,因此输出为True
解题思路:该题与第18题“有效的回文”类似,不同之处在于如果出现P1指针的值于P2指针的值不相同的情况,要进行尝试。
首先尝试P1侧删除一个字符能否形成回文,如果不行,则P1侧要恢复刚才删除的字符
然后尝试P2侧删除一个字符能否形成回文,如果不行,则可以return False了。
与作者不同的是,我在处理时,如果发现两头的字符相同,则直接删除两头的元素,这样就能够不断的缩短字符串,
这样一能方便自己调试,二能减少is_mirror()函数的运行时间。
"""
import re
def is_mirror(new_s):
p1 = 0
p2 = len(new_s)-1
while p1 != p2:
if new_s[p1] != new_s[p2]:
return False
p1 += 1
p2 -= 1
return True
def one_chance_is_mirror(s):
pattern = re.compile('[a-zA-Z0-9]')
new_s = pattern.findall(s.upper())
if is_mirror(new_s):
return True
else:
while len(new_s) != 0:
if new_s[0] == new_s[-1]:
new_s.pop(0)
new_s.pop(-1)
else:
left = new_s.pop(0)
if is_mirror(new_s):
return True
else:
new_s.insert(0, left)
right = new_s.pop(-1)
if is_mirror(new_s):
return True
return False
s = 'Was it a cat I saw ?'
s1 = 'Was it a cats I saw ?'
s2 = 'Was it a catss I saw ?'
s3 = 'abca'
print(one_chance_is_mirror(s))
print(one_chance_is_mirror(s1))
print(one_chance_is_mirror(s2))
print(one_chance_is_mirror(s3))
相关推荐
今天出一个candence 17.4 allego的安装教程
7、安装完成,接下来进行补丁更新,找到Hotfix_SPB17.40.035_wint.iso软件 ,右击鼠标选择装载。6、因为之前选择的定制安装,这一步不知道具体要安装啥,因此都勾选,点击NECK,接下来等待安装完成。后面经过仔细对比,发现是前面更新补丁时选择了F盘,F盘是candence安装包,不是补丁。8、在破戒大师里选择安装更新补丁,并找到刚才装载的安装包里的程序,点击下一步。3、打开破戒大师,找到安装candence进行如下图选择,点击下一步。有耐心的人可以重新卸了再装一边,我就不卸了,直接装。
a剑指 Offer II 019. 最多删除一个字符得到回文a详解分析
运用双指针算法思维
HybridCLR热更新全流程实操:用Addressables实现资源+代码双热更(Unity 2021版)
本文详细介绍了在Unity 2021 LTS版本中,如何结合HybridCLR代码热更新与Addressables资源管理系统,实现资源与代码的双热更解决方案。通过环境配置、技术架构设计、实战案例和性能优化,帮助开发者解决中大型项目中的依赖管理和版本协同问题,提升游戏迭代效率。
【LeetCode】最多删除一个字符得到回文
题目描述 给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。 示例 示例 1: 输入: s = “aba” 输出: true 示例 2: 输入: s = “abca” 输出: true 解释: 可以删除 “c” 字符 或者 “b” 字符 示例 3: 输入: s = “abc” 输出: false 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/RQku0D 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请
利用 Openocd 和 FT2232H 实现 ARMv8(Coretex-A53)高效调试方案
本文详细介绍了如何利用开源工具OpenOCD与高性能USB转接芯片FT2232H,构建一套针对ARMv8架构(如Cortex-A53)的高效、低成本调试方案。内容涵盖从环境搭建、驱动配置、核心调试架构解析到实战问题排查的全过程,帮助开发者实现对多核处理器的透明、可控调试,是嵌入式Linux及底层开发的实用指南。
YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)
YOLOv11 由 Ultralytics 在 2024 年 9 月 30 日发布, 最新的 YOLOv11 模型在之前的 YOLO 版本引入了新功能和改进,以进一步提高性能和灵活性。YOLO11 在快速、准确且易于使用,使其成为各种对象检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
【坚持每日一题11.1】最多删除一个字符得到回文
给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。 示例 1: 输入: s = “aba” 输出: true 示例 2: 输入: s = “abca” 输出: true 解释: 可以删除 “c” 字符 或者 “b” 字符 示例 3: 输入: s = “abc” 输出: false 提示: 1 <= s.length <= 10^5 s 由小写英文字母组成 java代码: class Solution { public boole
【异常】Cursor 模型服务地域访问限制报错的完整排查与解决方案This model provider doesn‘t serve your region
其本质是:Cursor客户端依赖的上游大语言模型服务提供商,基于自身服务的合规运营范围,对客户端发起的请求进行了来源地域权限校验;当系统检测到请求的网络来源地域,不在该模型服务商官方授权提供服务的地域范围内时,会触发服务访问拦截策略,拒绝响应本次模型调用请求,最终在客户端抛出该报错。合规声明:本文所提供的所有方案,均仅用于技术问题排查与解决,请您在使用过程中严格遵守当地法律法规,以及对应软件与模型服务提供商的用户协议与合规要求。更多关于AI+教育领域的干货,可以关注我的微信公众号一时间获取哦~
字符串:最多删除一个字符得到回文
这个题目依旧是利用双指针来判断字符串是否为回文,只是增加了一点细节的改动。
基于BQ25895RTWR的锂电池充电管理硬件设计
BQ25895 是一款适用于单节锂离子电池和锂聚合物电池的高度集成型 5A 开关模式电池充电管理和系统电源路径管理器件。此类器件支持高输入电压快速充电。低阻抗电源路径对开关模式运行效率进行了优化、缩短了电池充电时间并延长了放电阶段的电池使用寿命。• 移动电源、移动 Wi-Fi 热点。• 便携式互联网器件。
7、RNA 二级结构预测:包含接吻发夹基序的新策略
本文提出三种用于预测RNA二级结构中接吻发夹基序的新策略,结合规范化规则与非歧义动态规划,分别在时间与空间复杂度之间进行权衡。策略A以O(n⁴)时间和O(n²)空间实现高效预测;策略B通过存储次优结果扩大搜索空间,空间复杂度升至O(n³);策略C全面探索组合可能,时间复杂度为O(n⁵),但保持O(n²)空间。实验表明不同策略适用于不同复杂度的序列,为RNA结构预测提供了灵活且可扩展的解决方案。
LeetCode题解(0680):验证最多删除一个字符能否成为回文字符串(Python)
题目:原题链接(简单) 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 236ms (16.06%) Ans 2 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 200ms (30.88%) Ans 3 (Python) O(N)O(N)O(N) O(1)O(1)O(1) 196ms (35.48%) Ans 4 (Python) – O(N)O(N)O(N) 60ms (99.65%
2024年数字IC秋招-速腾聚创-数字芯片验证工程师-笔试题
笔试题型:单选 + 问答题笔试平台:牛客(手机+电脑监控)笔试时间:1hA. len取10的概率是1/2;B. len取10的概率是1/3;C. len取10的概率是1/4;D. len取10的概率是1;
《剑指 Offer》专项突破版 - 面试题 18、19 和 20 - 详解回文字符串(C++ 实现)
面试题 18 : 有效回文 面试题 19 : 最多删除一个字符得到回文 面试题 20 : 回文子字符串的个数
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
剑指 Offer II 019. 最多删除一个字符得到回文
给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
剑指Offer题目笔记5(回文字符串)
使用双指针,左指针从前到后,右指针从后到前,对字符串进行遍历,当左指针与右指针重叠时,停止。并且对每一次指针的值进行两次判断。 求字符串中有多少回文连续字符串。
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
剑指offer-第二版
【剑指offer-第二版】习题感悟(一刷)1. 面试流程2. 面试的基础知识2.1 C++基础知识面试题1:赋值运算符函数面试题2:实现单例模式2.2 数据结构面试题3:数组中重复的数字面试题4:二维数组中查找面试题5:替换字符串中的空格面试题6:从尾到头打印链表面试题7:重建二叉树面试题8:二叉树的下一个节点面试题9:两个栈实现队列or两个队列实现栈2.3 算法和数据操作 1. 面试流程 一般分为三轮面试:2-3轮技术面,1轮HR面 每一轮技术面试分为3个环节:行为面试,技术面试,提问环节 行为面试:自
总结leetcode剑指offer分类学习速成
包含所有经典代码 leetcode、剑指offer的详细分类,有基础题,字符串,动链表,树,贪心,动态规划,设计数据结构,等等众多经典题目,并附上了代码的设计实现,帮你轻松进入大厂,每天都在不间断更新。
【笔试】算法题目+数据结构 总结【每日更新..】
算法大汇总 -- ROOT根目录
LeetCode汇总
编号 题目 0 LeetCode 144. Binary Tree Preorder Traversal 二叉树的前序遍历 1 LeetCode 35. Search Insert Position 查找插入位置 2 LeetCode 34. Find First and Last Position of Element in Sorted Array 有序数组...
LeetCode刷题记录
20. 有效的括号 23. 合并K个排序链表 24. 两两交换链表中的节点 25. K 个一组翻转链表 45.跳跃游戏II 55.跳跃游戏 72.编辑距离 78.子集 82. 删除排序链表中的重复元素 II 83. 删除排序链表中的重复元素 86. 分隔链表 92.翻转链表II 97.交错字符串 109. 有序链表转换二叉搜索树 115.不同的子序列 120. 三角形最小路径和(动态规划的典型例题...
剑指offer(专项突破版):数据结构与算法名企面试题精讲 刷题记录
自己记录的刷题笔记
大厂面试 高频 数据结构 & 算法题 【top 200】 大汇总
一、二叉树 二、链表 三、DFS、BFS 四、动态规划
LeetCode链表操作常见面试题汇总
链表排序,两个有序链表和并,两个链表相交起点结点,单链表从尾到头输出,单链表反转,删除链表节点(倒数第k个,等于target的节点),链表是否是回文,链表与环相关的题目
web前端开发面试中常见的算法题(JS)
前言 最近在准备秋招,做过了大大小小的公司的面试题,发现除了基础知识外,算法还是挺重要的。特意整理了一些常见的算法题,添加了自己的理解并实现。 除此之外,建议大家还可以刷刷《剑指offer》(但我还没刷完?,任重道远呐)。此外,左神在牛客网上也有算法课程,听了基础班的感觉还不错,起码让我这个算法小白也能快速地理解了很多问题,知识付费的时代,这个真的是良心课程了。就我个人而言的话,平时为了解决一...
LeetCode 刷题汇总——题目序号顺序版
剑指 Offer——和为 S 的两个数字 剑指 Offer——数字在排序数组中出现的次数 剑指 Offer——和为 S 的连续正数序列 剑指 Offer——最小的 K 个数 剑指 Offer——连续子数组的最大和 剑指 Offer——数组中的逆序对LeetCode 1——两数之和 LeetCode 2——两数相加 LeetCode 3——无重复字符的最长子串 LeetCode 4——两个排序数组中的中位数 LeetCode 5——最长回文子串 LeetCode 10——正则表达式匹配 LeetCode 19
2727



被折叠的 条评论
为什么被折叠?



