找到 34423 篇文章 关于编程

Python 中查找最长回文子序列长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:45:08

724 次浏览

假设我们有一个小写字符串 s;我们需要找到 s 中最长回文子序列的长度。因此,如果输入类似于 s = "aolpeuvekyl",则输出将为 5,因为回文是“level”。为了解决这个问题,我们将遵循以下步骤 -n := s 的大小定义一个函数 dp()。这将采用 i、j如果 i 等于 j,则返回 1否则,当 i > j 时,则返回 0否则,如果 s[i] 等于 s[j],则返回 2 + dp(i + 1, j - 1)否则,返回 dp(i + 1, j) 和 dp(i, j - 1) 的最大值返回 ... 阅读更多

Python 中查找给定矩阵中最长递增路径长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:45:43

105 次浏览

假设我们有一个二维矩阵,我们需要找到最长严格递增路径的长度。要遍历路径,我们可以向上、下、左或右移动,而不是对角线移动。因此,如果输入类似于246157339则输出将为 6,因为最长路径是 [1, 2, 4, 6, 7, 9]为了解决这个问题,我们将遵循以下步骤 -n := 矩阵的行数,m := 矩阵的列数moves := 向上、下、左和右移动的一对列表 [[1, 0], [-1, 0], [0, 1], [0, -1]]定义一个函数 dp()。这 ... 阅读更多

Python 中查找和为偶数的最长路径长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:39:35

147 次浏览

假设我们有一棵二叉树。我们需要找到和为偶数的最长路径的长度。因此,如果输入类似于图像,则输出将为 5,因为路径类似于 [5, 2, 4, 8, 5],和 = 24(偶数)。为了解决这个问题,我们将遵循以下步骤 -定义一个函数 dfs()。这将采用节点如果节点为空,则返回一对 (0, -inf)(left_0, left_1) := dfs(节点的左子节点)(right_0, right_1) := dfs(节点的右子节点)如果节点的值为奇数,则ans := ans、(left_1 + right_0 + 1) 和 (left_0 + right_1 ... 阅读更多

Python 中查找三个字符串的最长公共子序列长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:36:12

604 次浏览

假设我们有三个字符串 s1、s2 和 s3,我们需要找到它们的最长公共子序列的长度。因此,如果输入类似于 s1 = "ababchemxde" s2 = "pyakcimde" s3 = "oauctime",则输出将为 4,因为最长公共子序列是“acme”。为了解决这个问题,我们将遵循以下步骤 -m := s1 的大小,n := s2 的大小,o := s3 的大小dp := 大小为 (o + 1) x (n + 1) x (m + 1) 的一个 3D 矩阵对于 i 范围从 1 到 m,执行对于 j 范围从 1 到 n,执行对于 ... 阅读更多

Python 中查找给定列表的最长算术子序列长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:34:52

324 次浏览

假设我们有一个称为 nums 的数字列表,我们需要找到最长算术子序列的长度。众所周知,当 S[i+1] - S[i] 对范围 (0 ≤ i < S 的大小 - 1) 中的每个 i 具有相同的值时,序列 S[i] 是一个算术序列。因此,如果输入类似于 nums = [1, 4, 7, 10, 13, 20, 16],则输出将为 6,子序列 [1, 4, 7, 10, 13, 16] 是一个算术序列,因为每个连续元素之间的差值为 3。为了解决这个问题,我们将遵循以下步骤 -n := arr 的大小如果 n

Python 中从给定列表中查找最长交替子序列长度的程序

Arnab Chakraborty
更新于 2020-12-12 10:32:00

395 次浏览

假设我们有一个称为 nums 的数字列表,我们需要找到最长子序列的大小,其中两个连续数字之间的差值在正数和负数之间交替。第一个差值可以是正数或负数。因此,如果输入类似于 nums = [6, 10, 4, 2, 3, 9, 4, 7],则输出将为 6,因为一个可能的所需子序列是 [6, 10, 2, 9, 4, 7],并且差值是 [4, -8, 7, -5, 3]。为了解决这个问题,我们将遵循以下步骤 &minuS;n := nums 的大小dp := 大小为 ... 阅读更多

Python 中检查是否可以将列表拆分为连续递增子列表的程序

Arnab Chakraborty
更新于 2020-12-12 10:30:32

311 次浏览

假设我们有一个称为 nums 的数字列表,并且该列表按非递减顺序排序,我们需要检查它是否可以拆分为任意数量的子序列,以便每个子序列至少具有长度 3 并且是连续递增的。因此,如果输入类似于 nums = [2, 3, 4, 4, 5, 6, 7],则输出将为 True,因为我们可以将列表拆分为 [2, 3, 4] 和 [4, 5, 6, 7]。为了解决这个问题,我们将遵循以下步骤 -counts := 包含 nums 的元素及其计数的映射starts := ... 阅读更多

Python 中将列表拆分为大小大于 k 的严格递增子列表的程序

Arnab Chakraborty
更新于 2020-12-12 10:27:46

139 次浏览

假设我们有一个称为 nums 的数字列表,以及另一个值 k,我们需要检查是否可以将列表拆分为子列表列表,以便每个子列表的长度 ≥ k 并且是严格递增的。该列表不需要连续拆分。因此,如果输入类似于 nums = [6, 7, 5, 10, 13] k = 2,则输出将为 True,因为拆分是 [5, 6] 和 [7, 10, 13]。为了解决这个问题,我们将遵循以下步骤 -c := 包含 nums 的元素及其计数的映射max_count := c 中所有频率的最大值当 max_count * k

Python 中查找三个相同和的非重叠子列表的最大和的程序

Arnab Chakraborty
更新于 2020-12-12 10:26:38

106 次浏览

假设我们有一个称为 nums 的数字列表以及另一个值 k,我们需要找到给定列表中三个非重叠子列表的最大和,这些子列表的大小为 k。因此,如果输入类似于 nums = [2, 2, 2, -6, 4, 4, 4, -8, 3, 3, 3] k = 3,则输出将为 27,因为我们可以选择子列表 [2, 2, 2]、[4, 4, 4] 和 [3, 3, 3],总和为 27。为了解决这个问题,我们将遵循以下步骤 -P := [0]对于 A 中的每个 x,执行在 P 的末尾插入 P[-1] + x ... 阅读更多

C++ 中查找两个和相等集合的最大和的程序

Arnab Chakraborty
更新于 2020-12-12 10:23:56

96 次浏览

假设我们有一个称为 nums 的数字列表,现在找到两个集合,因为它们的和相同且最大,然后找到和值。因此,如果输入类似于 nums = [2, 5, 4, 6],则输出将为 6,因为集合是 [2, 4] 和 [6]。为了解决这个问题,我们将遵循以下步骤 -sum := 0对于 nums 中的每个数字 i,执行sum := sum + in := nums 的大小定义一个大小为 (n + 1) x (2 * sum + 5) 的二维数组 dp 并填充 -1dp[0, sum] := 0对于初始化 i := 1,当 ... 阅读更多

广告

© . All rights reserved.