假设我们有一个包含 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 块金子放在秤上,而不会在过程中使秤爆炸。如果可以,则找到该顺序。如果不可能,则标记为“IMPOSSIBLE”。因此,如果输入类似 ... 阅读更多
假设我们有四个数字 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 = ... 阅读更多