回文

闻缺陷则喜何志丹12 天前
c++·算法·leetcode·字符串·分割·回文·中心扩展
【马拉车 中心扩展】1745. 分割回文串 IV回文: 马拉车 中心扩展 划分性dp: 动态规划汇总给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,那么返回 true ,否则返回 false 。 当一个字符串正着读和反着读是一模一样的,就称其为 回文字符串 。 示例 1: 输入:s = “abcbdd” 输出:true 解释:“abcbdd” = “a” + “bcb” + “dd”,三个子字符串都是回文的。 示例 2: 输入:s = “bcbddxy” 输出:false 解释:s 没办法被分割成 3 个回文子字符串。 提示: 3 <
闻缺陷则喜何志丹4 个月前
c++·算法·字符串·力扣·贪心·回文·树状树状
【字符串】【贪心】【 树状数组】2193. 得到回文串的最少操作次数视频算法专题字符串 贪心 树状数组 分类讨论给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据会确保 s 一定能变成一个回文串。 示例 1: 输入:s = “aabb” 输出:2 解释: 我们可以将 s 变成 2 个回文串,“abba” 和 “baab” 。
Espresso Macchiato5 个月前
leetcode medium·回文·leetcode题解·leetcode 3035·leetcode周赛384
Leetcode 3035. Maximum Palindromes After Operations这一题的话因为可以任意交换,因此事实上要考察回文的最大个数,我们只需要统计所有单词当中字符出现的频次,看看他们能组成多少回文即可。
闻缺陷则喜何志丹5 个月前
c++·算法·动态规划·字符串·力扣·记忆化搜索·回文
【动态规划】【记忆化搜索】【回文】1312让字符串成为回文串的最少插入次数【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数动态规划汇总 记忆化搜索 回文 字符串
闻缺陷则喜何志丹8 个月前
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 Macchiato8 个月前
动态规划·leetcode hard·回文·leetcode 2911·leetcode周赛368
Leetcode 2911. Minimum Changes to Make K Semi-palindromes这一题属实也是把我坑惨了……坦率地说,这道题本身并没有啥难度,但是坑爹的是题目表述简直有毒,有两个细节题目里面压根没提,一个是我从中文版本的题目当中发现的,另一个则是我根据失败的样例当中反推出来的,这简直有毒……
闻缺陷则喜何志丹9 个月前
开发语言·c++·算法·邻接表·回文·字符串分割·马拉车
C++算法:分割回文串给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 1: 输入:s = “aab” 输出:1 解释:只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。 示例 2: 输入:s = “a” 输出:0 示例 3: 输入:s = “ab” 输出:1 提示: 1 <= s.length <= 2000 s 仅由小写英文字母组成