找到 34423 篇文章 编程

C++ 中的自交叉

Arnab Chakraborty
更新于 2020年5月27日 06:14:58

208 次浏览

假设我们有一个包含 n 个数字的数组 x。我们从点 (0, 0) 开始,向北移动 x[0] 个单位,然后向西移动 x[1] 个单位,向南移动 x[2] 个单位,向东移动 x[3] 个单位,依此类推。换句话说,每次移动后,我们的方向都会逆时针变化。我们必须设计一个单遍算法,使用 O(1) 的额外空间来确定我们的路径是否交叉。所以如果数组是这样的 - [3, 4, 2, 5]答案将为真。为了解决这个问题,我们将遵循以下步骤 -在... 阅读更多

C++ 中的修补数组

Arnab Chakraborty
更新于 2020年5月27日 06:12:24

295 次浏览

假设我们有一个数组 nums 和一个数字。我们可以向数组中添加元素,使得范围 [1, n](包含两端)内的任何数字都可以由数组中某些元素的和构成。我们必须找到所需的最小补丁数。因此,当数组类似于 [1, 4] 并且给定数字为 n = 7 时,输出将为 1,因为最初的 nums 为 [1]、[4] 和 [1, 4] = 5,现在如果我们将 2 添加到数组中,则 nums 将为 [1]、[2]、[4]、[1, 2]、[1, 4],... 阅读更多

C++ 中删除重复字母

Arnab Chakraborty
更新于 2020年5月27日 06:10:06

153 次浏览

假设我们有一个仅包含小写字母的字符串。我们必须删除所有重复的字母,以便所有字母只出现一次。并且我们必须以最小的字典顺序显示结果。所以如果输入是这样的“abccb”,那么结果将是“abc”为了解决这个问题,我们将遵循以下步骤 -ans := 一个空字符串定义一个栈 st定义一个大小为 26 的数组 onStack定义一个映射 mn := s 的大小用于初始化 i := 0,当 i < n 时,将 i 增加 1 执行 -将 m[s[i]] 增加 1用于初始化 i := 0,当 i ... 阅读更多

C++ 中自身之后较小数字的数量

Arnab Chakraborty
更新于 2020年5月27日 06:06:19

302 次浏览

假设我们有一个数组 nums,我们必须找到另一个名为 count 的数组,在这个 count 数组中,count[i] 存储 nums[i] 右侧较小元素的数量。所以如果输入是这样的:[5, 2, 7, 1],那么结果将是 [2, 1, 1, 0]。为了解决这个问题,我们将遵循以下步骤 -定义一个名为 update() 的方法,它将获取索引、数组 bit 和 n当 index 0 时执行 -ans = ans + bit[index]index = index – (index AND - index)返回 ans从主方法中执行以下操作 -n := nums 的大小定义一个数组 res ... 阅读更多

C++ 中的气球爆裂

Arnab Chakraborty
更新于 2020年5月27日 06:00:28

364 次浏览

假设我们有 n 个气球,这些气球从 0 到 n-1 索引。这里每个气球上都涂有一个数字,由一个名为 nums 的数组表示。我们必须爆破所有气球。如果我们爆破气球 i,我们将获得 nums[i – 1] * nums[i] * nums[i + 1] 个硬币。爆破后,i – 1 和 i + 1 然后变得相邻。我们必须找到通过明智地爆破气球来收集的最大硬币。所以如果输入是这样的 [3, 1, 5, 7],那么结果将是 148。最初的... 阅读更多

C++ 中从数据流中查找中位数

Arnab Chakraborty
更新于 2020年5月27日 05:49:50

373 次浏览

假设我们有一个数据流,在该流中,一些数据元素可能会加入,我们必须创建一个系统,该系统将帮助查找数据中的中位数。众所周知,中位数是排序列表的中间数据,如果列表长度为奇数,我们可以直接获取中位数,否则取中间两个元素,然后求平均值。因此,将有两个方法,addNum() 和 findMedian(),这两个方法将用于向流中添加数字,并查找所有添加数字的中位数为了解决这个问题,我们将... 阅读更多

C++ 中的表达式添加运算符

Arnab Chakraborty
更新于 2020年5月27日 05:46:17

227 次浏览

假设我们有一个字符串,该字符串仅包含数字 0 到 9。并且给定了一个目标值。我们必须返回所有可能性,将二元运算符 +、- 和 * 添加到数字中以获得目标值。所以如果输入是这样的“232”并且目标是 8,那么答案将是 [“2*3+2”, “2+3*2”]为了解决这个问题,我们将遵循以下步骤 -定义一个名为 solve() 的方法,它将获取索引、s、curr、target、temp、mult -如果 idx >= s 的大小,则,如果 target 等于 curr,则,将 temp 插入到末尾... 阅读更多

C++ 中的滑动窗口最大值

Arnab Chakraborty
更新于 2020年5月27日 05:36:18

641 次浏览

假设我们有一个名为 nums 的数组,有一个大小为 k 的滑动窗口,它从数组的左侧移动到右侧。我们只能看到窗口中的 k 个数字。每次滑动窗口向右移动一个位置。我们必须找到最大滑动窗口。所以如果输入是这样的 -[1, 3, -1, -3, 5, 3, 6, 8] 并且 k 为 3,则窗口将是这样的 -窗口位置最大值13-1-35368313-1-35368313-1-35368313-1-35368513-1-35368613-1-353688为了解决这个问题,我们将遵循以下步骤 -定义一个数组 ans定义一个双端队列 dq如果... 阅读更多

C++ 中数字 1 的个数

Arnab Chakraborty
更新于 2020年5月27日 05:32:06

348 次浏览

假设我们有一个数字 n,我们必须计算小于或等于 n 的所有非负数字中出现的数字 1 的总数。所以如果输入是 15,则输出将是 8,因为包含 1 的数字是 [1,10,11,12,13,14,15],有 8 个 1。为了解决这个问题,我们将遵循以下步骤 -ret := 0用于初始化 i := 1,当 i

C++ 中的基本计算器

Arnab Chakraborty
更新于 2020年5月26日 14:11:17

1K+ 次浏览

假设我们想创建一个基本计算器来查找基本表达式的结果。表达式可以包含开括号和闭括号、加号或减号以及空格。所以如果字符串是这样的“5 + 2 - 3”,那么结果将是 7为了解决这个问题,我们将遵循以下步骤 -ret := 0,sign := 1,num := 0,n := s 的大小定义一个栈 st用于初始化 i := 0,当 i < n 时,将 i 增加 1 执行 -定义一个数组 x = s 的大小 i如果 x >= '0' 并且 x = '0' && x

广告

© . All rights reserved.