找到 34423 篇文章 关于编程

C++中的回文分区

Arnab Chakraborty
更新于 2020年4月28日 06:28:15

355 次浏览

假设我们有一个输入字符串,当分区的每个子串都是回文时,该字符串的分区就是回文分区。在本节中,我们必须找到将给定字符串进行回文分区所需的最小切割次数。因此,如果字符串类似于“ababbbabbababa”,则需要 3 次切割才能将其作为回文分区。回文如下:a | babbbab | b | ababa 要解决这个问题,我们将遵循以下步骤:n := str 的长度定义切割矩阵和回文矩阵,每个矩阵的阶数均为 n x n 对于 i := 0 到 n,执行 pal[i, i] := ... 阅读更多

在 C++ 中计算逆波兰表示法

Arnab Chakraborty
更新于 2020年1月31日 06:36:02

273 次浏览

假设我们有一个三角形。我们必须找到从顶到底的最小路径和。在每一步中,我们都可以移动到下一行的相邻数字。例如,如果以下三角形类似于[  [2],  [3, 4],  [6, 5, 7],  [4, 1, 8, 3] ]从顶到底的最小路径和是 11 (2 + 3 + 5 + 1 = 11)。让我们看看步骤创建一个表用于动态规划方法。n := 三角形的尺寸对于 i := n – 2 到 0对于 j := 0 到 i dp[j] ... 阅读更多

C++ 中的二叉树层序遍历

Arnab Chakraborty
更新于 2020年4月28日 06:19:26

3K+ 次浏览

假设我们有一棵二叉树。我们必须使用层序遍历方案遍历这棵树。因此,如果树类似于遍历序列将类似于:[10, 5, 16, 8, 15, 20, 23] 要解决这个问题,我们将遵循以下步骤:定义队列 que 来存储节点将根插入队列中。当 que 不为空时,执行 item := 队列前端的项目打印 item 的值如果 item 的左侧不为空,则将 item 的左侧插入 que如果 item 的右侧不为空,则将 item 的右侧插入 que删除前端 ... 阅读更多

Python 中的二叉树中序遍历

Arnab Chakraborty
更新于 2020年4月28日 06:11:48

3K+ 次浏览

假设我们有一棵二叉树。我们必须使用中序遍历方案遍历这棵树,而无需使用递归。因此,如果树类似于那么遍历将是 [2, 5, 7, 10, 15, 20] 要解决这个问题,我们将遵循以下步骤:创建两个数组 res 和 stack,设置 curr := root运行一个无限循环当当前不为空时将 curr 推入堆栈,并设置 curr := curr 的左侧当堆栈的长度 = 0 时,则返回 res node := 从堆栈中弹出的元素将 node 的值插入 res curr := curr 的右侧示例让我们看看以下 ... 阅读更多

Python 中的解码方式

Arnab Chakraborty
更新于 2020年4月28日 06:06:16

954 次浏览

假设我们有一条包含从 A 到 Z 的字母的消息,它使用以下映射编码为数字:'A' → 1,'B' → 2 ... 'Z' → 26。因此,如果我们有一个仅包含数字的非空字符串,那么我们必须找到可以对其进行解码的方式数量。因此,如果字符串类似于“12”,则可以由“AB”或“L”构成,因此有两种可能的方式。所以答案将是 2。要解决这个问题,我们将遵循以下步骤:我们将使用动态规划来解决这个问题。n := s 的长度 dp ... 阅读更多

C++ 中的格雷码

Arnab Chakraborty
更新于 2020年4月28日 06:01:01

2K+ 次浏览

众所周知,格雷码是一种二进制数字系统,其中两个连续的值仅在一个位上不同。假设我们有一个非负整数 n,表示代码中的总位数。我们必须打印格雷码序列。格雷码序列必须以 0 开头。因此,如果输入是 2,则结果将是 [0, 1, 3, 2],这是因为 0 的格雷码是 00,1 的格雷码是 01,2 的格雷码是 11,3 的格雷码是 10。要解决这个问题,我们将遵循以下步骤 ... 阅读更多

C++ 中的分区列表

Arnab Chakraborty
更新于 2020年4月28日 05:50:16

500 次浏览

假设我们有一个链表和一个值 x。我们必须进行分区。分区是这样的,所有小于 x 的节点都位于大于或等于 x 的节点之前。我们应该保留这两个分区中每个节点的原始相对顺序。因此,如果列表类似于 [1, 4, 3, 2, 5, 2] 且 x = 3,则输出将是 [1, 2, 2, 4, 3, 5] 要解决这个问题,我们将遵循以下步骤:创建虚拟节点 d1 和 d2,并用 -1 初始化它们,创建两个 ... 阅读更多

C++ 中的组合

Arnab Chakraborty
更新于 2020年4月27日 14:16:54

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 := ... 阅读更多

Python 中的颜色排序

Arnab Chakraborty
更新于 2020年4月27日 14:12:40

2K+ 次浏览

假设我们有一个包含 n 个对象的数组。这些颜色为红色、白色或蓝色,请就地对其进行排序,以便相同颜色的对象相邻。颜色顺序为红色、白色和蓝色。在这里,我们将使用数字 0、1 和 2 分别表示红色、白色和蓝色。因此,如果数组类似于 [2,0,2,1,1,0],则输出将是 [0,0,1,1,2,2] 要解决这个问题,我们将遵循以下步骤:设置 low := 0,mid := 0 和 high := 数组长度 – 1 当 mid

C++ 中的螺旋矩阵

Arnab Chakraborty
更新于 2020年4月27日 14:09:34

4K+ 次浏览

假设我们有一个矩阵,我们必须以螺旋的方式打印矩阵元素。首先从第一行开始,打印整个内容,然后沿着最后一列打印,然后是最后一行,依此类推,从而以螺旋的方式打印元素。因此,如果矩阵类似于:1 2 34 5 67 8 910 11 1213 14 1516 17 18那么输出将类似于 [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 和 ... 阅读更多

广告
© . All rights reserved.