假设我们有一个整数数组 A,对于每个整数 A[i],我们必须选择 x = -K 或 x = K,并将 x 添加到 A[i](仅一次)。因此,在此过程之后,我们得到了一些数组 B。我们必须找到 B 的最大值和最小值之间可能的最小差值。因此,如果输入是 A = [0, 10],K = 2,则输出将为 6,因为 B = [2, 8]。为了解决这个问题,我们将遵循以下步骤 - 设置 ret := 0,n := 数组 A 的大小排序 ... 阅读更多
假设我们有一个具有 R 行和 C 列的二维网格,我们从 (r0, c0) 开始,面向东方。此处,网格的西北角位于第一行和第一列,网格的东南角位于最后一行和最后一列。我们将以顺时针螺旋形状行走以访问此网格中的每个位置。当我们在网格边界外时,我们将继续在网格边界外行走(但以后可能会返回到网格边界)。我们必须找到一个坐标列表,表示 ... 阅读更多
假设我们有一个名为 people 的数组。现在第 i 个人体重为 people[i],并且每艘船最多可以承载 limit 的重量。如果每艘船同时最多承载 2 个人,前提是这些人的重量之和最多为 limit。我们必须找到运送每个给定人的最小船只数量。因此,如果输入类似于 [3,2,1,2],并且 limit 为 3,那么我们需要三艘船。[(1,2), (2), (3)]。为了解决这个问题,我们将遵循以下步骤 - 对 people 数组进行排序 i := 0,j := people 数组的大小 – 1,ret := 0 while i
假设我们有 N 堆香蕉,第 i 堆有 piles[i] 根香蕉。此处,警卫已经离开,将在 H 小时后回来。科科可以决定她每小时吃香蕉的速度为 K。每小时,她取一些香蕉,并从那堆香蕉中吃掉 K 根。如果堆中香蕉少于 K 根,那么她会全部吃完,并且在这一小时内不会再吃任何香蕉。假设科科喜欢慢慢吃,但仍然希望在警卫回来之前吃完所有香蕉。我们必须找到最小的整数 ... 阅读更多
假设我们有一个序列 X_1、X_2、...、X_n,如果它是斐波那契式的,则 -n >= 3X_i + X_{i+1} = X_{i+2} 对于所有 i + 2 = 3 否则返回 0。让我们看看以下实现以更好地理解 - 示例实时演示#include using namespace std; class Solution { public: int lenLongestFibSubseq(vector & A) { int ret = 0; unordered_map m; int n = A.size(); vector < vector > dp(n, vector (n)); for(int i = 0; i < n; i++){ ... 阅读更多
假设我们有一个正整数 N,我们将以任何顺序重新排序数字(包括原始顺序),使前导数字非零。我们必须检查我们是否可以以某种方式做到这一点,以便所得数字为 2 的幂。因此,如果数字为 46,则答案将为真。为了解决这个问题,我们将遵循以下步骤 - 定义一个名为 count 的方法,这将以 x 为输入 ret := 0 while x 不为 0 ret := ret + 10 ^ x 的最后一位 x := x / 10 返回 ret 从 main ... 阅读更多