📝 动态编程

1324篇技术文档
  通过替换 Q 查询的 K 个字符来检查子字符串是否可以是回文的

📅  最后修改于: 2021-09-17 06:45:02        🧑  作者: Mango

给定一个字符串str和[L, R, K]形式的Q查询,任务是找出[L, R]中最多允许K 个变化的字符串的字符是否可以重新排列以使字符串回文.对于每个查询,如果它可以成为回文字符串,则打印“YES”,否则打印“NO”。例子:Input:str = “GeeksforGeeks”, Q = { { 1, 5, 3 }, { 5, 7, 0 }, { 8, 11, 3 }, {3, 10, 5 }, ...

  超过 N 的第 K 个数字,其数字之和可被 M 整除

📅  最后修改于: 2021-09-17 06:45:09        🧑  作者: Mango

给定整数N、K和M,任务是找到大于N的第K个数字,其数字之和可被M整除。例子:Input:N = 6, K = 5, M = 5Output:32Explanation:The number greater than N = 6 with the sum of their digits divisible by 5 are {14, 19, 23, 28, 32, …}. The Kthnumbe...

  检查数组和是否可以通过对其进行三个操作来得到 K

📅  最后修改于: 2021-09-17 06:45:15        🧑  作者: Mango

给定一个由N 个整数组成的数组A和一个正整数K。在这个数组上只能执行三个操作:1)用整数的负值替换整数,2) 将元素的索引号(基于 1 的索引)添加到元素本身并3) 从元素本身减去元素的索引号。任务是检查给定的数组是否可以转换,使用上述三个允许的操作中的任何一个,只对每个元素执行一次。使得数组的总和变为 K。例子:前提条件动态规划方法这个想法是使用动态规划来解决问题。声明一个二维布尔数组dp[][...

  编辑距离 | DP 使用记忆化

📅  最后修改于: 2021-09-17 06:45:22        🧑  作者: Mango

给定两个字符串str1 和 str2 以及可以在 str1 上执行的操作。找出将“str1”转换为“str2”所需的最少编辑(操作)次数。插入消除代替以上所有操作都是等价的。例子:Input:str1 = “geek”, str2 = “gesek”Output:1We can convert str1 into str2 by inserting a ‘s’.Input:str1 = “cat”...

  贝尔曼-福特算法 | DP-23

📅  最后修改于: 2021-09-17 06:45:28        🧑  作者: Mango

给定一个图和图中的源顶点src,找到从src到给定图中所有顶点的最短路径。该图可能包含负权重边。我们已经讨论了针对这个问题的 Dijkstra 算法。 Dijkstra 算法是一种贪心算法,时间复杂度为 O(V+E LogV)(使用斐波那契堆)。Dijkstra 不适用于具有负权重边的图,Bellman-Ford 适用于此类图。 Bellman-Ford 也比 Dijkstra 更简单,并且非常适...

  Paytm 面试经历 |设置 4(步入式驱动器)

📅  最后修改于: 2021-09-17 06:45:36        🧑  作者: Mango

我有机会参加 Paytm 总部的步入式开车。经历了以下过程。笔试:包含 20 道客观题,混合 C、网络和数据库题以及 2 道主观题。主观题:股票买入卖出最大的利润和查找子字符串中的字符串SE进行的技术回合:问题 1:反转给定的链表问题 2:大小为 3 的组中的反向链表问题 3:字符串的两个给定字符之间的最小距离由技术负责人进行的技术回合:问题一:说说你自己。您在工作时使用的技术堆栈。问题 2:矩阵...

  所有子矩阵的按位与之和

📅  最后修改于: 2021-09-17 06:45:42        🧑  作者: Mango

给定一个NxN矩阵,任务是找到其所有矩形子矩阵的按位与的总和。例子:先决条件:全1的二进制矩阵的矩形子矩阵的数量。朴素的解决方案:一个简单的解决方案是生成所有子矩阵并为每个子矩阵找到所需的 AND。这种方法的时间复杂度为 O(N6)。有效的方法:为了更好的理解,我们假设一个元素的任何位都由变量’i’表示,变量’sum’用于存储最终的总和。这里的想法是,我们将尝试找到第 i个位集的 AND 值(具有...

  打印给定数字的所有质因数的高效程序

📅  最后修改于: 2021-09-17 06:45:49        🧑  作者: Mango

给定一个数 n,编写一个有效的函数来打印 n 的所有质因数。例如,如果输入数为 12,则输出应为“2 2 3”。如果输入数为 315,则输出应为“3 3 5 7”。以下是查找所有质因数的步骤。1)当 n 可被 2 整除时,打印 2 并将 n 除以 2。2)在第 1 步之后,n 必须是奇数。现在开始从 i = 3 到 n 的平方根的循环。当 i 除以 n 时,打印 i 并将 n 除以 i。在 i 除...

  Payu面试经历|第 6 组(校内)

📅  最后修改于: 2021-09-17 06:45:56        🧑  作者: Mango

最近派宇来我校招聘。招聘流程:在线测试 + 3 轮技术面试 + 人力资源面试。职位:软件工程师在线编码回合(1 小时):有5个编码问题。我们每个人都有不同的套装。大多数问题都基于标准的动态规划,如 0-1 背包等。对于每个问题,都给出了一个带有完整解释的测试用例。我只尝试了 3 个问题。1. 在地块中建造建筑物的所有可能方法,使得任意 2 个建筑物之间有空间。https://www.geeksfo...

  带有 * 和 + 的表达式的最小值和最大值

📅  最后修改于: 2021-09-17 06:46:08        🧑  作者: Mango

给定一个包含数字和两个运算符“+”和“*”的表达式,我们需要找到通过不同括号计算该表达式可以获得的最大值和最小值。例子:我们可以通过动态规划的方法解决这个问题,我们可以看到这个问题类似于矩阵链乘法,这里我们尝试不同的括号来最大化和最小化表达式值而不是矩阵乘法的次数。在下面的代码中,我们首先将运算符和数字从给定的表达式中分离出来,然后采用两个二维数组来存储中间结果,这些结果类似于矩阵链乘法进行更新,...

  最多两次买卖股票的最大利润

📅  最后修改于: 2021-09-17 06:46:14        🧑  作者: Mango

在每日股票交易中,买方在早上购买股票并在同一天卖出。如果允许交易者在一天内最多进行 2 笔交易,而第二笔交易只能在第一笔交易完成后开始(卖出->买入->卖出->买入)。给定全天的股票价格,找出股票交易者可能获得的最大利润。例子:一个简单的解决方案是考虑每个索引“i”并执行以下操作可以使用以下 O(n) 算法计算使用一笔交易的最大可能两个元素之间的最大差异,使得较大的元素出现在较小的数字之后上述简单...

  具有数字异或作为单个数字的 N 位数字的计数

📅  最后修改于: 2021-09-17 06:46:21        🧑  作者: Mango

给定一个整数N,任务是找到 N 位数字的总数,使得这些数字的位异或是一位数。例子:Input:N = 1Output:9Explanation:1, 2, 3, 4, 5, 6, 7, 8, 9 are the numbers.Input:N = 2Output:66Explanation:There are 66 such 2-digit numbers whose Xor of digits ...

  掷骰子 N 次得到的所有数字之和位于两个给定整数之间的概率

📅  最后修改于: 2021-09-17 06:46:27        🧑  作者: Mango

给定三个整数N、A和B,任务是计算掷骰子恰好 N 次所获得的数字之和位于A和B之间的概率。例子:Input:N = 1, A = 2, B = 3Output:0.333333Explanation:Ways to obtained the sum 2 by N ( = 1) throws of a dice is 1 {2}. Therefore, required probability = ...

  到达终点的最小斐波那契跳跃次数

📅  最后修改于: 2021-09-17 06:46:34        🧑  作者: Mango

给定一个由0和1 组成的数组,如果任何特定索引i 的值为1则它是安全索引,如果值为0则它是不安全索引。一个人站在索引-1(来源)只能降落在安全索引上,他必须到达第 N 个索引(最后一个位置)。在每次跳跃时,该人只能移动等于任何斐波那契数的距离。你必须尽量减少步数,前提是人只能向前跳跃。注意:前几个斐波那契数是 – 0, 1, 1, 2, 3, 5, 8, 13, 21…。例子:Input:arr[...

  删除整个字符串的最大给定操作数

📅  最后修改于: 2021-09-17 06:46:40        🧑  作者: Mango

给定一个包含小写英文字符的字符串str,我们可以对给定的字符串执行以下两个操作:删除整个字符串。仅当字符串str[0…i]等于子字符串str[(i + 1)…(2 * i + 1)] 时,才删除它的前缀。任务是找到删除整个字符串所需的最大操作数。例子:Input:str = “abababab”Output:4Operation 1: Delete prefix “ab” and the stri...