假设我们有一个包含 n 个元素的数组 A。有 n 个士兵站在一个圆圈上。对于第 i 个士兵,身高为 A[i]。一个侦察部队可以由两个相邻的士兵组成,他们的身高差最小。因此,他们中的每个人在另一个人的旁边都会不那么显眼。我们必须找到可以组成侦察部队的士兵对的索引。所以,如果输入类似于 A = [10, 12, 13, 15, 10],则输出将为 (5, 1)。步骤要解决此问题,我们将遵循以下步骤 -n := A 的大小 D ... 阅读更多
假设我们有两个字符串 S 和 T。两者都包含小写字母。按此顺序连接 T 和 S 以生成最终字符串。所以,如果输入类似于 S = "ramming";T = "prog",则输出将为 "programming"步骤要解决此问题,我们将遵循以下步骤 -res := T 连接 S 返回 res示例让我们看看以下实现以更好地理解 -#include using namespace std; string solve(string S, string T){ string res = T + S; return res; } int main(){ string S = "ramming"; string T = "prog"; cout
假设我们有一系列 N 个坐标点 P,形式为 (xi, yi)。x 和 y 值是前 N 个自然数的排列。对于范围 1 到 N 中的每个 k。我们位于城市 k。我们可以任意多次应用这些操作。操作:我们移动到另一个城市,该城市具有比我们当前所在的城市更小的 x 坐标和更小的 y 坐标,或者更大的 x 或更大的 y 坐标。我们必须找到我们可以从城市 k 访问的城市数量。所以,如果输入类似于 P = [[1, ... 阅读更多
假设我们有一个包含 n 个不同元素的数组 A,以及另一个数字 x。有 n 块金子。第 i 块黄金的重量是 A[i]。我们将一次将这 n 块金子放在天平上。但是天平有一个异常的缺陷:如果其上的总重量正好为 x,它就会爆炸。我们必须检查是否可以按某种顺序将所有 n 块金子放在天平上,而在此过程中不会使天平爆炸。如果可以,则查找该顺序。如果不可能,则标记为“不可能”。所以,如果输入类似于 ... 阅读更多
假设我们有四个数字 n、x、a 和 b。一行中有 n 个学生。其中有两个敌对学生。其中一个在位置 a,另一个在位置 b。位置从左到右从 1 到 n 编号。我们希望最大化这两个学生之间的距离。我们可以执行以下操作 x 次:选择两个相邻的学生,然后交换它们。我们必须找到 x 次交换后可能的最大距离。所以,如果输入类似于 n = 5;x = 1;a = 3; ... 阅读更多
假设我们有五个数字 N、A、B、C、D。我们从数字 0 开始,结束于 N。我们可以通过以下操作用一定数量的硬币更改数字 -将数字乘以 2,支付 A 枚硬币将数字乘以 3,支付 B 枚硬币将数字乘以 5,支付 C 枚硬币增加或减少数字 1,支付 D 枚硬币。我们可以按任何顺序执行这些操作任意多次。我们必须找到到达 N 所需的最少硬币数量所以,如果输入类似于 N = 11;A = ... 阅读更多
假设我们有一个包含 n 个元素的数组 A。我们想要删除重复元素。我们只想保留每个元素最右边的条目。剩余唯一元素的相对顺序不应更改。所以,如果输入类似于 A = [1, 5, 5, 1, 6, 1],则输出将为 [5, 6, 1]步骤要解决此问题,我们将遵循以下步骤 -定义两个数组 b 和 vis,大小分别为:1200 x := 0 n := A 的大小 for 初始化 i := n - 1,当 i >= 0 时,更新(减少 ... 阅读更多