假设我们有一个数字数组,我们需要找到可以通过以任何我们想要的顺序连接某些给定数字来形成的最大三的倍数。答案可能非常大,因此将其作为字符串。如果没有答案,则返回空字符串。因此,如果输入类似于 [7, 2, 8],则输出将为 87。为了解决这个问题,我们将遵循以下步骤:定义一个二维数组 d,它将有三行对数字数组进行排序 sum := 0 for 初始化 i := 0,当 i < 数字的大小,更新……阅读更多
假设我们有一个整数数组 target。从由所有 1 组成的起始数组 A 开始,我们可以执行以下过程:考虑 x 为当前数组中所有元素的总和。选择索引 i,范围为 0 到 n,其中 n 是数组的大小,并将 A 中索引 i 的值设置为 x。我们可以根据需要重复此过程任意多次。我们需要检查是否可以从 A 创建目标数组,否则返回 False。因此,如果输入类似于 [3, 9, 5],则输出将……阅读更多
假设我们想在 d 天内安排一系列任务。这些任务是相关的,因此要处理第 i 个任务,我们必须完成所有任务 j,其中 0 0,则:返回 1^6 如果 dp[idx, k] 不等于 -1,则:返回 dp[idx, k] maxVal := 0 ret := inf for 初始化 i := idx,当 i < v 的大小,更新(将 i 增加 1),执行:maxVal := v[i] 和 maxVal 的最大值 ret := ret 和 maxVal + solve(v, i + 1, k - 1, dp) 的最小值 dp[idx, k] := ret 返回 ret 从主方法执行……阅读更多
假设在 x 轴上有一个一维花园。花园的起始位置为 0,结束位置为 n。花园中位于点 [0, 1, ..., n] 的 n + 1 个水龙头。如果我们有一个整数 n 和一个长度为 n + 1 的整数数组范围,其中 ranges[i] 是第 i 个水龙头,当该区域打开时,它可以浇灌区域 [i - ranges[i], i + ranges[i]]。我们需要找到应该打开多少个水龙头才能浇灌整个花园,如果没有可能的解决方案,则返回……阅读更多