子序列

闻缺陷则喜何志丹6 个月前
c++·算法·前缀和·动态规划·力扣·子序列·状态机dp
【动态规划 状态机dp 性能优化】3098. 求出所有子序列的能量和动态规划 状态机dp 性能优化给你一个长度为 n 的整数数组 nums 和一个 正 整数 k 。 一个子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值 。 请你返回 nums 中长度 等于 k 的 所有 子序列的 能量和 。 由于答案可能会很大,将答案对 109 + 7 取余 后返回。 示例 1: 输入:nums = [1,2,3,4], k = 3 输出:4 解释: nums 中总共有 4 个长度为 3 的子序列:[1,2,3] ,[1,3,4] ,[1,2,4] 和 [2,3,4]
闻缺陷则喜何志丹8 个月前
c++·算法·字符串·力扣·贪心·回溯·子序列
【贪心】【回溯】【字符串】2014. 重复 K 次的最长子序列贪心 回溯 字符串给你一个长度为 n 的字符串 s ,和一个整数 k 。请你找出字符串 s 中 重复 k 次的 最长子序列 。 子序列 是由其他字符串删除某些(或不删除)字符派生而来的一个字符串。 如果 seq * k 是 s 的一个子序列,其中 seq * k 表示一个由 seq 串联 k 次构造的字符串,那么就称 seq 是字符串 s 中一个 重复 k 次 的子序列。 举个例子,“bba” 是字符串 “bababcba” 中的一个重复 2 次的子序列,因为字符串 “bbabba” 是由 “bba” 串
闻缺陷则喜何志丹9 个月前
c++·算法·leetcode·动态规划·字符串·子序列
【动态规划】【字符串】【C++算法】940. 不同的子序列 II【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径动态规划汇总给定一个字符串 s,计算 s 的 不同非空子序列 的个数。因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除)字符但不改变剩余字符相对位置的一个新字符串。 例如,“ace” 是 “abcde” 的一个子序列,但 “aec” 不是。 示例 1: 输入:s = “abc” 输出:7 解释:7 个不同的子序列分别是 “a”, “b”, “c”, “ab”, “a