假设有一些筹码,第 i 个筹码目前位于位置 chips[i]。我们可以对任何筹码执行以下两种类型的操作任意多次(可能为零):将第 i 个筹码向左或向右移动 2 个单位,成本为 0。将第 i 个筹码向左或向右移动 1 个单位,成本为 1。最初,可能有两个或多个筹码。我们必须返回将所有筹码移动到……阅读更多
假设我们有一个整数数组 A,我们必须按以下方式修改数组:我们可以选择一个 i 并将 A[i] 替换为 -A[i],我们将重复此过程 K 次。我们必须返回以这种方式更改数组后数组的最大可能和。因此,如果数组 A = [4, 2, 3],而 K = 1,则输出将为 5。选择索引 1,数组将变为 [4, -2, 3]。为了解决这个问题,我们将遵循以下步骤:对数组 A 进行排序,对于 i 从 0 到长度……阅读更多
假设我们有一个链表。我们必须检查列表元素是否构成回文。因此,如果列表元素类似于 [1, 2, 3, 2, 1],则这是一个回文。为了解决这个问题,我们将遵循以下步骤:fast := head,slow := head,rev := None 且 flag := 1 如果 head 为空,则返回 true while fast 和 fast 的 next 可用如果 fast 的 next 的 next 可用,则设置 flag := 0 并中断循环 fast := next of next of fast temp := slow,slow := next……阅读更多