找到 34423 篇文章,关于编程

在 C++ 中游泳

Arnab Chakraborty
更新于 2020年6月2日 10:50:40

249 次浏览

假设我们有一个 N x N 网格,每个方格 grid[i][j] 表示该点 (i, j) 的海拔高度。现在假设开始下雨。在时间 t,处处的水深都是 t。当两个方格的海拔高度都小于等于 t 时,我们可以从一个方格沿四个方向相邻的方格游泳。我们可以在零时间内游无限远。我们应该从位置 (0, 0) 开始。我们需要找到到达右下角方格 (N-1, N-1) 的最短时间。所以如果输入如下:0123424232221512131515161117181920109876正确路径已着色。因此,答案... 阅读更多

在 C++ 中破解保险箱

Arnab Chakraborty
更新于 2020年6月2日 10:48:04

290 次浏览

假设我们有一个用密码保护的箱子。密码是一个 n 位数字序列,其中每个数字可以是前 k 个数字 0、1、…、k-1 之一。因此,当我们输入密码时,最后输入的 n 位数字将自动与正确的密码匹配。例如,假设正确的密码是“563”,如果我们输入“285639”,则箱子将打开,因为正确的密码与输入密码的后缀匹配。我们需要找到任何保证在某个时刻打开箱子的最小长度密码... 阅读更多

在 C++ 中采集樱桃

Arnab Chakraborty
更新于 2020年6月2日 10:44:52

351 次浏览

假设我们有一个 N x N 网格,该网格中填充了樱桃。每个单元格包含以下可能的整数之一:0 - 表示单元格为空,因此我们可以穿过1 - 表示单元格包含一个樱桃,我们可以拾取并穿过-1 - 表示单元格包含一个荆棘,这会阻挡道路我们需要使用以下规则收集最大数量的樱桃:从位置 (0, 0) 开始,到达 (N-1, N-1),通过有效的路径单元格向右或向下移动到达单元格 (N-1, N-1) 后,返回到 (0, 0)... 阅读更多

在 C++ 中查找第 k 小的配对距离

Arnab Chakraborty
更新于 2020年6月2日 10:42:28

206 次浏览

假设我们有一个整数数组;我们需要找到所有配对中的第 k 小的距离。一对 (A, B) 的距离实际上是 A 和 B 之间的绝对差。因此,如果输入类似于 [1, 3, 8],则所有可能的配对是 [1, 3]、[3, 8]、[1, 8],然后当 k = 2 时,第二小的距离是 5 (8 - 3)。为了解决这个问题,我们将遵循以下步骤:n := nums 的大小,x := 0for 初始化 i := 0,当 i < n,更新(增加 i 为 1),执行:-x := 最大... 阅读更多

在 C++ 中使用范围模块

Arnab Chakraborty
更新于 2020年6月2日 10:40:09

233 次浏览

假设我们想要一个范围模块。这是一个跟踪数字范围的模块。我们的任务是以有效的方式设计和实现以下接口。addRange(left, right)。这将是半开区间 [left, right),跟踪该区间中的每个实数。现在,添加一个与当前跟踪的数字部分重叠的区间应该添加区间中尚未跟踪的任何数字。queryRange(left, right)。当区间 [left, right) 中的每个实数当前都被跟踪时,这将返回 true。removeRange(left, right),这将停止跟踪当前在区间... 阅读更多

在 C++ 中使用黑名单进行随机选择

Arnab Chakraborty
更新于 2020年6月2日 10:36:56

180 次浏览

假设我们有一个名为 B 的黑名单。它包含来自范围 [0, N) 的唯一整数,我们需要定义一个函数来返回来自范围 [0, N) 的一个均匀随机整数,该整数不在 B 中。我们将尝试通过减少 random() 函数调用来优化此函数。假设输入数组如下:为了解决这个问题,我们将遵循以下步骤:定义一个映射我们将初始化为 N 和数组 v。for 初始化 i := 0,当 i < v 的大小,更新(增加 i 为 1),执行:-如果 v[i] < N,则:,m[v[i]] := -1M := N... 阅读更多

在 C++ 中拼写单词的贴纸

Arnab Chakraborty
更新于 2020年6月2日 10:34:39

335 次浏览

假设我们有 N 种不同类型的贴纸。每种类型的贴纸上都印有一个小写英文单词。我们想通过从我们的贴纸集中剪下单个字母并重新排列它们来拼写出给定的目标字符串。如果需要,我们可以多次使用每张贴纸,并且我们有无限数量的每张贴纸。我们需要找到拼写出目标所需的最小贴纸数量?如果任务不可能,则返回 -1。因此,如果输入类似于 [“dog”, “sentence”, ”antenna”],并且目标是“dance”,则答案将是... 阅读更多

在 C++ 中求 3 个不重叠子数组的最大和

Arnab Chakraborty
更新于 2020年6月2日 10:31:54

125 次浏览

假设我们有一个名为 nums 的正整数数组,我们需要找到三个不重叠的子数组,其和最大。这里每个子数组的大小都为 k,我们希望最大化所有 3*k 个条目的总和。我们需要将结果作为表示每个区间的起始位置的索引列表返回。如果有多个答案,我们将返回字典序最小的一个。因此,如果输入类似于 [1, 2, 1, 2, 6, 8, 4, 1] 且 k = 2,则结果将是 [0, 3, 5],因此子数组为 [1, 2]、[2, 6]、... 阅读更多

在 C++ 中查找冗余连接 II

Arnab Chakraborty
更新于 2020年6月1日 12:06:06

178 次浏览

假设我们有一棵有根树。这是一个有向图,使得正好有一个节点(它是根)所有其他节点都是该节点的后代,并且每个节点只有一个父节点,除了根节点。根没有父节点。在给定的输入中,一个有向图最初是具有 N 个节点的有根树(所有值都是唯一的),并且添加了一条额外的有向边。添加的边从 1 到 N 选择了两个不同的顶点,并且不是已经存在的边。图将是一个 2D 边的数组。每个... 阅读更多

在 C++ 中玩 24 点

Arnab Chakraborty
更新于 2020年6月1日 12:00:53

1K+ 次浏览

假设我们有四张卡片;这些卡片包含 1 到 9 之间的一些数字。我们需要检查它们是否可以通过一些运算符(如 +、-、*、/)来得到 24。因此,如果我们有一些数字,例如 [4,9,2,6],那么我们可以通过 (4 * 9) – (2 * 6) 得到 24,答案将为真。为了解决这个问题,我们将遵循以下步骤:epsilon := 10.0^-5定义一个函数 solve(),它将获取一个数组 v,如果 v 的大小与 1 相同,则:-当 |v[0] - 24.0| 时返回 true

广告

© . All rights reserved.