找到 34423 篇文章 关于编程

C++ 中求和为目标值的子矩阵数量

Arnab Chakraborty
更新于 2020年6月4日 11:09:58

190 次浏览

假设我们有一个矩阵和一个目标值,我们需要找到和等于目标值的非空子矩阵的数量。这里,子矩阵 [(x1, y1), (x2, y2)] 是所有单元格 matrix[x][y] 的集合,其中 x 的范围是 x1 和 x2,y 的范围是 y1 和 y2。两个子矩阵 [(x1, y1), (x2, y2)] 和 [(x1', y1'), (x2', y2')] 不同,当且仅当它们的一些坐标不同:例如,如果 x1 与 x1' 不相同。因此,如果输入类似于 010111010 并且目标值为 0,则输出将为 4,这是因为有四个 1x1 ... 阅读更多

C++ 中的最长重复子字符串

Arnab Chakraborty
更新于 2020年6月4日 11:06:27

563 次浏览

假设我们有一个字符串 S,考虑所有出现 2 次或更多次的重复连续子字符串。(这些出现可能会重叠。)我们需要找到具有尽可能长长度的重复子字符串。如果没有这样的子字符串,则返回空字符串。由于答案可能非常大,因此以模 10^9 + 7 的形式返回。因此,如果输入类似于 "ababbaba",则输出将为 "bab"为了解决这个问题,我们将遵循以下步骤:m := 1e9 + 7定义一个函数 add(),它将接收 a、b,并返回 ((a mod m) + (b mod m)) mod m定义 ... 阅读更多

Python 中的逃离大型迷宫

Arnab Chakraborty
更新于 2020年6月4日 11:00:48

353 次浏览

假设我们有一个网格,它有 100 万行和 100 万列,我们还有一个被阻挡单元格的列表。现在我们将从源方格开始,并希望到达目标方格。在每次移动中,我们都可以走到网格中一个未在给定被阻挡单元格列表中的上、下、左、右相邻方格。我们需要检查是否可以通过一系列移动到达目标方格。因此,如果输入类似于 blocked = [[0, 1], [1, 0]],source = [0, 0],target = [0, ... 阅读更多

C++ 中的字符流

Arnab Chakraborty
更新于 2020年6月4日 10:58:38

476 次浏览

假设我们想要实现如下所示的 StreamChecker 类:StreamChecker(words) - 这是构造函数,它使用给定的单词初始化数据结构。query(letter) - 当对于某些 k >= 1,最后 k 个查询的字符(按从旧到新的顺序,包括刚刚查询的这个字母)拼写出给定列表中的某个单词时,返回 true。因此,如果输入类似于单词列表 = ["ce", "g", "lm"],然后对 [a, b, c, e, f, g, h, i, j, k, l, m] 多次调用 query,则输出将对 e、g、m 为 true,并且 ... 阅读更多

C++ 中的重复数字

Arnab Chakraborty
更新于 2020年6月4日 10:53:46

573 次浏览

假设我们有一个正整数 N,我们需要找到小于或等于 N 的至少有一个重复数字的正整数的数量。因此,如果输入类似于 99,则输出将为 9,因为我们有数字如 11、22、33、44、55、66、77、88、99。为了解决这个问题,我们将遵循以下步骤:定义一个函数 A(),它将接收 m、n,ret := 1对于初始化 i := 0,当 i < n 时,更新(将 i 增加 1),执行:ret := ret * m(将 m 减 1)返回 ret从 main ... 阅读更多

Python 中的网格照明

Arnab Chakraborty
更新于 2020年6月4日 10:49:36

367 次浏览

假设我们有一个 N x N 的单元格网格,在每个单元格 (x, y) 中都有一盏灯。最初,一些灯是亮着的。lamps[i] 是第 i 盏亮着的灯的位置。每盏亮着的灯都会照亮其 x 轴、y 轴和两个对角线上的每个方格。现在对于第 i 个查询,即 queries[i] = (x, y),查询的答案为 1,如果单元格 (x, y) 被照亮,否则为 0。在每个查询 (x, y) 之后,我们将关闭位于单元格 (x, y) 或在其 8 个方向上相邻的任何灯。返回 ... 阅读更多

C++ 中合并石头的最小成本

Arnab Chakraborty
更新于 2020年6月4日 09:52:30

537 次浏览

假设我们有一排 N 堆石头。这里第 i 堆有 stones[i] 块石头。一次移动包括将 K 个连续的堆合并成一堆,现在这次移动的成本等于这 K 个堆中的石头总数。我们需要找到将所有石堆合并成一堆的最小成本。如果没有这样的解决方案,则返回 -1。因此,如果输入类似于 [3, 2, 4, 1] 并且 K = 2,则输出将为 20,这是因为,我们将 ... 阅读更多

C++ 中的平方数组数量

Arnab Chakraborty
更新于 2020年6月4日 09:48:04

237 次浏览

假设我们有一个正整数数组 A,如果对于每对相邻元素,它们的和都是一个完全平方数,我们可以说该数组是平方数组。我们需要找到 A 的平方数组排列的数量。两个排列 A1 和 A2 不同,当且仅当存在某个索引 i 使得 A1[i] 与 A2[i] 不相同。因此,如果输入类似于 [3, 30, 6],则输出将为 2,因为我们有两个排列,如 [3, 6, 30]、[30, 6, 3]。为了解决这个问题,我们将遵循以下步骤 ... 阅读更多

C++ 中 K 个连续比特翻转的最小数量

Arnab Chakraborty
更新于 2020年6月4日 09:46:08

191 次浏览

假设我们有一个数组 A。它仅包含 0 和 1,其中 K 比特翻转包括选择一个长度为 K 的(连续)子数组,并同时反转子数组中的比特。我们需要找到所需的 K 比特翻转的最小数量,以便数组中没有 0。如果没有这样的可能性,则返回 -1。因此,如果输入类似于 [0, 0, 0, 1, 0, 1, 1, 0] 并且 K = 3,则输出将为 3,因为我们需要执行三次操作,在第一次尝试翻转 ... 阅读更多

C++ 中具有 K 个不同整数的子数组

Arnab Chakraborty
更新于 2020年6月4日 09:44:29

183 次浏览

假设我们有一个正整数数组 A,如果 A 的一个子数组(连续)中不同整数的数量恰好为 K,则我们可以称之为良好子数组。因此,如果数组类似于 [1, 2, 3, 1, 2],则它有 3 个不同的整数:1、2 和 3。我们需要找到 A 的良好子数组的数量。因此,如果输入类似于 [1, 2, 3, 1, 4] 并且 K = 3,则输出将为 4,因为它可以形成三个具有恰好四个不同整数的子数组,这些是 [1, 2, 3]、[1, 2, 3, 1]、 ... 阅读更多

广告

© . All rights reserved.