leetcode 刷题报告 2131. Longest Palindrome by Concatenating Two Letter Words 连接两字母单词得到的最长回文串

一道看似简单的LeetCode题目,实际涉及复杂情况,如字母可重复导致的回文串构建问题。解题关键在于处理重复字符的奇偶性和不同组合的数学计算,确保避免重复计数。例如,'aa'可居中,其他奇数长度的回文串需考虑奇偶性,而'lc'和'cl'这样的组合仅计算一次。
摘要由CSDN通过智能技术生成
  1. Longest Palindrome by Concatenating Two Letter Words

在这里插入图片描述
这题居然把我做崩溃了,看着非常简单的一个题,给的example也迅速过了。但是实际submit 发现有很多test过不了,主要是因为 他的两个字母可以重复,然后两个一样的 像aa 和不一样的 情况是不一样的。他可以放中间。

所以这题 做到最后变成了一个数学题, 先过一遍 数组,把dic存好。如果是aa这种 基数个的话吗有一个 可以放在中间,其他就不行, 所以奇偶都可以处理的方法就是 lenght 增加num//2 * 4 个。 然后类似lc cl这种也得用点 数学方法,我们目标只算一次 lc cl不要被反复计算, 所以 我们只要 字母大的那个,但是 比如 3个lc 4ge cl, 那增加的是 min(num(lc), num(cl)) * 4

class Solution:
    def longestPalindrome(self,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值