找到 34423 篇文章,关于编程

C++ 中的旋转门

Arnab Chakraborty
更新于 2020-09-02 11:59:33

242 次浏览

假设我们有一系列请求,其中 requests[i] 包含 [t, d],表示在时间 t,一个人到达门口,并且想要进入(使用 1 表示进入)或出去(使用 0 表示出去)。所以如果只有一个门,并且使用门需要一个时间单位,那么我们必须遵循一些规则:门开始时处于“进入”位置,然后设置为最后一位参与者使用的位置。如果在给定时间 t 只有一个参与者在门口,他们可以使用门。如果 ... 阅读更多

C++ 中区间内出现最频繁的数字

Arnab Chakraborty
更新于 2020-09-02 11:53:14

468 次浏览

假设我们有一个整数列表 intervals,其中每个元素都像 [start, end] 一样表示一个区间。我们需要找到区间内出现最频繁的数字。如果有多个数字出现频率相同,则返回最小的数字。所以,如果输入类似 [[2, 5], [4, 6], [7, 10], [8, 10]],那么输出将是 4要解决这个问题,我们将遵循以下步骤:定义一个映射 mcnt := 0,val := 0对于每个值 it in x −(将 m[it[0]] 增加 1)将 m[it[1] + 1] 减小 1last := 0对于每个键 it in mlast := last + m[it]的值 ... 阅读更多

C++ 中的啤酒瓶问题

Arnab Chakraborty
更新于 2020-09-02 11:47:59

240 次浏览

假设我们有一个数字 n。这里 n 表示 n 个完整的啤酒瓶。如果我们可以用 3 个空啤酒瓶换取 1 个完整的啤酒瓶,我们需要找到我们可以喝多少个啤酒瓶。所以,如果输入类似 10,那么输出将是 14。要解决这个问题,我们将遵循以下步骤:定义一个函数 solve(),它将接收 n,ret := 0当 n >= 3 时,执行以下操作:−q := n / 3ret := ret + q * 3n := n - q * 3n := n + qret := ret + n返回 ret让我们看看 ... 阅读更多

C++ 中的大到小排序

Arnab Chakraborty
更新于 2020-09-02 11:46:32

638 次浏览

假设我们有一个整数列表 nums,我们需要按照以下方式对列表进行排序:第一个元素是最大值第二个元素是最小值第三个元素是第二大值第四个元素是第二小值以此类推。所以,如果输入类似 [6,3,10,4],那么输出将是 [10, 3, 6, 4]要解决这个问题,我们将遵循以下步骤:定义一个数组 ret对数组 nums 进行排序j := nums 的大小 - 1i := 0当 i

C++ 中的巧合搜索

Arnab Chakraborty
更新于 2020-09-02 11:44:29

185 次浏览

假设我们有一个唯一的整数列表,称为 nums。我们需要找到可以使用标准二分查找成功找到的整数的数量。所以,如果输入类似 [2,6,4,3,10],那么输出将是 3,因为如果我们使用二分查找来查找 4,我们可以在第一次迭代中找到它。我们还可以找到 2 和 10,经过两次迭代。要解决这个问题,我们将遵循以下步骤:定义一个函数 help(),它将接收目标、一个数组 & nums,low := 0high := nums 的大小 - 1当 low

C++ 中的回文整数

Arnab Chakraborty
更新于 2020-09-02 11:42:36

167 次浏览

假设我们有一个非负整数,称为 num,我们需要检查它是否是回文,但不能使用字符串。所以,如果输入类似 1331,那么输出将是 true。要解决这个问题,我们将遵循以下步骤:ret := 0x := num当 num > 0 时,执行以下操作:−d := num mod 10ret := ret * 10ret := ret + dnum := num / 10当 x 与 ret 相同时返回 true让我们看看以下实现,以便更好地理解:示例 实时演示#include using namespace std; class Solution {    public:    bool solve(int num) ... 阅读更多

C++ 中的翻转矩阵前传

Arnab Chakraborty
更新于 2020-09-02 11:40:41

225 次浏览

假设我们有一个二进制矩阵。如果我们翻转一行然后翻转一列,我们需要找到我们可以获得的最大 1 的数量。所以,如果输入类似101010100那么输出将是 8要解决这个问题,我们将遵循以下步骤:n := 矩阵中行的数量m := 矩阵中列的数量ret := 0定义一个大小为 n 的数组 row定义一个大小为 n 的数组 coltotal := 0初始化 i := 0,当 i < n 时,更新(将 i 增加 1),执行以下操作:−初始化 j := 0,当 j < m 时,更新(将 j 增加 ... 阅读更多

C++ 中距离原点最远

Arnab Chakraborty
更新于 2020-09-02 11:38:02

620 次浏览

假设我们有一个字符串 s,其中每个字符都是“L”、“R”或“?”。“L”表示向左移动一个单位,“R”表示向右移动一个单位,“?”表示“L”或“R”。如果我们在位置 0,我们需要找到通过用“L”或“R”替换“?”可以从 0 获得的最大可能距离。所以,如果输入类似“LLRRL??”,那么输出将是 3,用 L 替换 ? 以向左移动 5 个单位,向右移动 2 个单位,因此最大位移是 3。要解决这个问题,我们将遵循以下步骤:op := 0, ... 阅读更多

C++ 中翻转为零

Arnab Chakraborty
更新于 2020-09-02 11:36:25

313 次浏览

假设我们有一个整数数组,称为 nums,它包含 0 和 1。假设我们有一个操作,我们可以在 nums 中选择一个索引 i 并翻转索引 i 处的元素以及 i 右侧的所有数字。我们需要找到使 nums 包含所有 0 所需的最少操作次数。所以,如果输入类似 [1, 0, 1],那么输出将是 3,在索引 0 处进行操作,它将转换为 [0, 1, 0],然后在索引 1 处 [0, 0, 1],然后在索引 2 处 [0, 0, 0]。要解决这个问题,我们将 ... 阅读更多

C++ 中拆分列表

Arnab Chakraborty
更新于 2020-09-02 11:33:00

897 次浏览

假设我们有一个整数列表,称为 nums,我们需要找到是否可以将列表分成两个子列表(非空),使得左侧的每个数字都严格小于右侧的每个数字。所以,如果输入类似 [6, 4, 3, 8, 10],那么输出将是 true,因为 left = [6, 4, 3] 且 right = [8, 10]要解决这个问题,我们将遵循以下步骤:n := nums 的大小定义一个大小为 n 的数组 right定义一个大小为 n 的数组 leftleft[0] := nums[0]right 的最后一个元素 := nums 的最后一个元素 ... 阅读更多

广告

© . All rights reserved.