找到 34423 篇文章 编程

使用 C++ 中的两根手指键入单词的最小距离

Arnab Chakraborty
更新于 2020-06-08 11:25:38

197 次浏览

假设我们有一个如下所示的键盘布局 -ABCDEFGHIJKLMNOPQRSTUVWXYZ其中每个英文大写字母都位于某个坐标处,例如,字母 A 位于 (0, 0),字母 B 位于 (0, 1),字母 P 位于 (2, 3),字母 Z 位于 (4, 1)。现在,如果我们有一个单词,我们必须找到使用仅两根手指键入此类字符串的最小总距离。两个位置 (x1, y1) 和 (x2, y2) 之间的距离为 |x1 - x2| + |y1 - y2|。我们可以从任何... 阅读更多

C++ 中不同的回声子字符串

Arnab Chakraborty
更新于 2020-06-08 11:21:01

106 次浏览

假设我们有一个字符串 S;我们必须找到 S 的不同非空子字符串的数量,这些子字符串可以写成某个字符串与其自身的连接。因此,如果输入类似于“elloelloello”,则输出将为 5,因为有一些子字符串,如“ello”、“lloe”、“loel”、“oell”。为了解决这个问题,我们将遵循以下步骤 -prime := 31m := 1^9 + 7定义一个函数 fastPow(),它将采用 base、power、res := 1while power > 0,执行 -如果 power & 1 为非零,则 -res := res * baseres := res mod mbase := base * ... 阅读更多

C++ 中的文字算术谜题

Arnab Chakraborty
更新于 2020-06-08 11:17:12

403 次浏览

假设我们有一个方程式,表达式由左侧的单词和右侧的结果表示。我们必须检查该方程是否根据以下规则可解 -每个字符被解码为一个数字(0 到 9)。每对不同的字符必须映射到不同的数字。每个 words[i] 和 result 被解码为一个数字,其中没有前导零。左侧数字的总和将等于右侧的数字。我们将检查方程是否可解。因此,如果输入类似于 words = ["SEND", "MORE"],result = ... 阅读更多

C++ 中具有最大分数的路径数

Arnab Chakraborty
更新于 2020-06-08 11:13:26

143 次浏览

假设我们有一个字符的方形棋盘。我们可以在棋盘上移动,从标记有字符“S”的右下角方格开始。现在我们需要到达标记有字符“E”的左上方格。其他方格要么用数字字符 1 到 9 标记,要么用障碍物“X”标记。在一步中,我们只能向上、向左或向左上方移动,前提是没有障碍物。我们必须找到两个数字的列表:第一个数字是我们可以收集到的数字字符的最大总和,第二个... 阅读更多

C++ 中您可以从盒子中获得的最大糖果数量

Arnab Chakraborty
更新于 2020-06-08 11:09:37

311 次浏览

假设我们有 n 个盒子,这里每个盒子都以 [status, candies, keys, containedBoxes] 的格式给出,有一些约束 -status[i]:当 box[i] 打开时为 1,当 box[i] 关闭时为 0。candies[i]:是 box[i] 中的糖果数量。keys[i]:是一个数组,包含我们可以用 box[i] 中的密钥打开的盒子的索引。containedBoxes[i]:一个数组,包含在 box[i] 中找到的盒子的索引。我们将从 initialBoxes 数组中给出的某些盒子开始。我们可以取任何打开的盒子中的所有糖果,并且可以使用其中的钥匙来打开... 阅读更多

C++ 中具有障碍消除的网格中的最短路径

Arnab Chakraborty
更新于 2020-06-08 11:07:14

509 次浏览

假设我们有一个 m x n 网格,这里每个单元格要么是 0 要么是 1。0 单元格为空,1 被阻塞。一步之内,我们可以从一个空单元格到另一个空单元格向上、向下、向左或向右移动。我们必须找到从左上角单元格 (0, 0) 到右下角单元格 (m-1, n-1) 行走的最小步数,前提是我们最多可以消除 k 个障碍物。如果没有这样的方法,则返回 -1。因此,如果输入类似于000110000011000并且 k 为 1,则输出将为 6,... 阅读更多

C++ 中的最小下降路径总和 II

Arnab Chakraborty
更新于 2020-06-08 11:04:09

232 次浏览

假设我们有一个网格 arr,这是一个方形网格,非零偏移的下落路径是从 arr 的每一行中精确选择一个元素,这样在相邻行中选择的两个元素都不会出现在同一列中。我们必须找到非零偏移的下落路径的最小总和。因此,如果输入类似于 arr 类似于 [[1, 2, 3], [4, 5, 6], [7, 8, 9]],则输出将为 13,因为存在不同的下降路径,这些路径类似于 [1, 5, 9]、[1, 5, 7]、[1, 6, 7]、[1,... 阅读更多

C++ 中在某些步骤后留在同一位置的方法数

Arnab Chakraborty
更新于 2020-06-08 11:00:39

208 次浏览

假设有一个大小为 arrLen 的数组,并且我们还有一个指向该数组中索引 0 的指针。在每个步骤中,我们可以在数组中向左移动 1 个位置,向右移动 1 个位置或停留在同一位置。现在假设我们有两个整数 steps 和 arrLen,我们必须找到指针在恰好 steps 后仍然位于索引 0 的方法数。如果答案非常大,则将其模 10^9 + 7 返回。因此,如果输入类似于 steps = 3,arrLen = 2,则输出将... 阅读更多

C++ 中每个谜题的有效单词数

Arnab Chakraborty
更新于 2020-06-08 10:58:15

137 次浏览

假设有一个谜题字符串,如果以下两个条件都成立,则一个单词是有效的 -单词包含谜题的第一个字母。对于单词中的每个字母,该字母都在谜题中。假设如果我们考虑一个示例,如果谜题类似于“abcdefg”,则有效单词是“face”、“cabbage”等;但一些无效单词是“beefed”,因为没有“a”和“based”,因为有“s”不在谜题中。我们必须找到答案列表,其中 answer[i] 是给定单词列表 words 中相对于... 的有效单词数 阅读更多

C++ 中从先序遍历中恢复树

Arnab Chakraborty
更新于 2020-06-08 10:55:14

418 次浏览

假设有一棵二叉树。我们将在二叉树的根上运行先序深度优先搜索。在此遍历中的每个节点处,输出将是 D 个破折号(这里 D 是此节点的深度),之后我们显示此节点的值。众所周知,如果节点的深度为 D,则其直接子节点的深度为 D+1,根节点的深度为 0。另一件我们必须牢记的事情是,如果一个节点只有一个子节点,则该子节点保证为... 阅读更多

广告

© . All rights reserved.