355 次浏览
假设我们有一个输入字符串,当分区的每个子字符串都是回文时,该字符串的分区就是回文分区。在本节中,我们必须找到将给定字符串进行回文分区所需的最小切割次数。因此,如果字符串类似于“ababbbabbababa”,则将回文分区所需的最小切割次数为 3。回文为:a | babbbab | b | ababa 要解决此问题,我们将遵循以下步骤 -n := str 的长度定义切割矩阵和回文矩阵,每个矩阵的顺序为 n x n对于 i := 0 到 n,执行pal[i, i] := ... 阅读更多
273 次浏览
假设我们有一个三角形。我们必须找到从顶部到底部的最小路径和。在每一步中,我们都可以移动到下面一行上的相邻数字。例如,如果以下三角形类似于[ [2], [3, 4], [6, 5, 7], [4, 1, 8, 3] ]从顶部到底部的最小路径和为 11(2 + 3 + 5 + 1 = 11)。让我们看看步骤创建一个表以在动态规划方法中使用。n := 三角形的尺寸对于 i := n – 2 到 0对于 j := 0 到 idp[j] ... 阅读更多
3K+ 次浏览
假设我们有一棵二叉树。我们必须使用层序遍历方案遍历这棵树。因此,如果树类似于遍历序列将类似于 - [10, 5, 16, 8, 15, 20, 23] 要解决此问题,我们将遵循以下步骤 -定义队列 que 以存储节点将根插入队列中。当队列不为空时,执行item := 队列前端的项目打印 item 的值如果 item 的左子节点不为空,则将 item 的左子节点插入队列中如果 item 的右子节点不为空,则将 item 的右子节点插入队列中删除前端 ... 阅读更多
假设我们有一棵二叉树。我们必须使用中序遍历方案在不使用递归的情况下遍历这棵树。因此,如果树类似于那么遍历将是 [2, 5, 7, 10, 15, 20] 要解决此问题,我们将遵循以下步骤 -创建两个数组 res 和 stack,设置 curr := root运行一个无限循环当 current 不为空时将 curr 推入堆栈,并将 curr 设置为 curr 的左子节点当堆栈的长度 = 0 时,返回 resnode := 从堆栈中弹出的元素将节点的值插入 rescurr := curr 的右子节点示例让我们看看以下 ... 阅读更多
954 次浏览
假设我们有一条包含从 A 到 Z 的字母的消息,使用以下映射将其编码为数字 - 'A' → 1,'B' → 2 ... 'Z' → 26。因此,如果我们有一个仅包含数字的非空字符串,那么我们必须找到可以解码该字符串的方法数。因此,如果字符串类似于“12”,则可以从“AB”或“L”生成,因此有两种可能的方式。所以答案将是 2。要解决此问题,我们将遵循以下步骤 -我们将使用动态规划来解决此问题。n := s 的长度dp ... 阅读更多
2K+ 次浏览
众所周知,格雷码是一种二进制数字系统,其中两个连续的值仅在一个位上不同。假设我们有一个非负整数 n,表示代码中的总位数。我们必须打印格雷码的序列。格雷码序列必须以 0 开头。因此,如果输入为 2,则结果将为 [0, 1, 3, 2],这是因为 0 的格雷码为 00,1 的格雷码为 01,2 的格雷码为 11,3 的格雷码为 10。要解决此问题,我们将遵循以下步骤 ... 阅读更多
500 次浏览
假设我们有一个链接列表和一个值 x。我们必须进行分区。分区使得小于 x 的所有节点都位于大于或等于 x 的节点之前。我们应该保留这两个分区中每个节点的原始相对顺序。因此,如果列表类似于 [1, 4, 3, 2, 5, 2] 且 x = 3,则输出将为 [1, 2, 2, 4, 3, 5] 要解决此问题,我们将遵循以下步骤 -创建虚拟节点 d1 和 d2,并将它们初始化为 -1,创建两个 ... 阅读更多
820 次浏览
假设我们有两个整数 n 和 k。我们必须找到从 1 ... n 中 k 个数字的所有可能组合。因此,如果 n = 4 且 k = 2,则组合将为 [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]] 要解决此问题,我们将遵循以下步骤 -我们将使用递归函数来解决此问题。函数 solve() 正在获取 n、k、temp 数组和 start。start 最初为 1。这将充当如果 temp 数组的大小 = k,则将 temp 插入 res 数组,并返回对于 i := ... 阅读更多
假设我们有一个包含 n 个对象的数组。这些颜色为红色、白色或蓝色,请就地对其进行排序,以便相同颜色的对象相邻。因此,颜色顺序为红色、白色和蓝色。在这里,我们将使用数字 0、1 和 2 分别表示颜色红色、白色和蓝色。因此,如果数组类似于 [2,0,2,1,1,0],则输出将为 [0,0,1,1,2,2] 要解决此问题,我们将遵循以下步骤 -设置 low := 0,mid := 0 和 high := 数组的长度 – 1当 mid
4K+ 次浏览
假设我们有一个矩阵,我们必须以螺旋的方式打印矩阵元素。首先从第一行开始,打印整个内容,然后沿着最后一列打印,然后是最后一行,依此类推,从而以螺旋方式打印元素。因此,如果矩阵类似于 -123456789101112131415161718 那么输出将类似于 [1 2 3 4 5 6 12 18 17 16 15 14 13 7 8 9 10 11 15 16] 要解决此问题,我们将遵循以下步骤 -currRow := 0 和 currCol := 0当 currRow 和 ... 阅读更多