技术栈
回文
逝去的秋风
2 个月前
leetcode
·
动态规划
·
回文
【代码随想录训练营第42期 Day46打卡 - 回文问题 - LeetCode 647. 回文子串 516.最长回文子序列
目录一、做题心得二、题目与题解题目一:647. 回文子串题目链接题解1:动态规划题解2:中心扩展法题目二:516.最长回文子序列
Espresso Macchiato
3 个月前
leetcode hard
·
回文
·
分类讨论
·
leetcode 3260
·
leetcode周赛411
Leetcode 3260. Find the Largest Palindrome Divisible by K
这一题的话首先我们可以快速给出几个简单情况的答案:而对于其他的情况,暂时没啥好的思路,因此给出了一个暴力的解法,就是先通过一个迭代由大到小给出所有的回文序列,然后手动写一个除法函数判断一下是否可以整除即可。
Espresso Macchiato
3 个月前
leetcode
·
leetcode medium
·
回文
·
leetcode 3240
·
leetcode双周赛136
Leetcode 3240. Minimum Number of Flips to Make Binary Grid Palindromic II
这一题的话要同时满足行列上都是回文,因此我们每次考察需要考虑四个角上对应的元素,考察通过最少次数的变换使之变得都相同,显然如果他们本身相同,那么不变即可,如果有三个元素相同,变剩下那个即可,如果有两个元素相同,随机变两个即可。且变换之后的1的个数总是4的倍数。
闻缺陷则喜何志丹
4 个月前
c++
·
算法
·
leetcode
·
字符串
·
分割
·
回文
·
中心扩展
【马拉车 中心扩展】1745. 分割回文串 IV
回文: 马拉车 中心扩展 划分性dp: 动态规划汇总给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,那么返回 true ,否则返回 false 。 当一个字符串正着读和反着读是一模一样的,就称其为 回文字符串 。 示例 1: 输入:s = “abcbdd” 输出:true 解释:“abcbdd” = “a” + “bcb” + “dd”,三个子字符串都是回文的。 示例 2: 输入:s = “bcbddxy” 输出:false 解释:s 没办法被分割成 3 个回文子字符串。 提示: 3 <
闻缺陷则喜何志丹
8 个月前
c++
·
算法
·
字符串
·
力扣
·
贪心
·
回文
·
树状树状
【字符串】【贪心】【 树状数组】2193. 得到回文串的最少操作次数
视频算法专题字符串 贪心 树状数组 分类讨论给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据会确保 s 一定能变成一个回文串。 示例 1: 输入:s = “aabb” 输出:2 解释: 我们可以将 s 变成 2 个回文串,“abba” 和 “baab” 。
Espresso Macchiato
9 个月前
leetcode medium
·
回文
·
leetcode题解
·
leetcode 3035
·
leetcode周赛384
Leetcode 3035. Maximum Palindromes After Operations
这一题的话因为可以任意交换,因此事实上要考察回文的最大个数,我们只需要统计所有单词当中字符出现的频次,看看他们能组成多少回文即可。
闻缺陷则喜何志丹
9 个月前
c++
·
算法
·
动态规划
·
字符串
·
力扣
·
记忆化搜索
·
回文
【动态规划】【记忆化搜索】【回文】1312让字符串成为回文串的最少插入次数
【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数动态规划汇总 记忆化搜索 回文 字符串
闻缺陷则喜何志丹
1 年前
c++
·
算法
·
深度优先
·
树
·
回文
·
状态压缩
·
路径数
C++深度优先搜索(DFS)算法的应用:树中可以形成回文的路径数
深度优先搜索(DFS) 状态压缩给你一棵 树(即,一个连通、无向且无环的图),根 节点为 0 ,由编号从 0 到 n - 1 的 n 个节点组成。这棵树用一个长度为 n 、下标从 0 开始的数组 parent 表示,其中 parent[i] 为节点 i 的父节点,由于节点 0 为根节点,所以 parent[0] == -1 。 另给你一个长度为 n 的字符串 s ,其中 s[i] 是分配给 i 和 parent[i] 之间的边的字符。s[0] 可以忽略。 找出满足 u < v ,且从 u 到 v 的路径上
Espresso Macchiato
1 年前
动态规划
·
leetcode hard
·
回文
·
leetcode 2911
·
leetcode周赛368
Leetcode 2911. Minimum Changes to Make K Semi-palindromes
这一题属实也是把我坑惨了……坦率地说,这道题本身并没有啥难度,但是坑爹的是题目表述简直有毒,有两个细节题目里面压根没提,一个是我从中文版本的题目当中发现的,另一个则是我根据失败的样例当中反推出来的,这简直有毒……
闻缺陷则喜何志丹
1 年前
开发语言
·
c++
·
算法
·
邻接表
·
回文
·
字符串分割
·
马拉车
C++算法:分割回文串
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 1: 输入:s = “aab” 输出:1 解释:只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。 示例 2: 输入:s = “a” 输出:0 示例 3: 输入:s = “ab” 输出:1 提示: 1 <= s.length <= 2000 s 仅由小写英文字母组成