在Python中找到距离不连续的最小对和的程序
假设我们有一个被调用的数字列表。现在让我们考虑任何一对索引(i,j),其中i<j和j-i>1。然后找到最小的对和。
因此,如果输入类似于nums=[3,4,2,2,4],那么输出将为5,我们可以选择值3和2,因此总和为5。我们不能选择2和2,因为它们是相邻的,并且违反了j-i>1约束。
示例
让我们看看以下实现以获得更好的理解-
def solve(nums): n = len(nums) min_seen = nums[0] ans = float("inf") for i in range(2, n): ans = min(ans, min_seen + nums[i]) min_seen = min(min_seen, nums[i - 1]) return ans nums = [3, 4, 2, 2, 4] print(solve(nums))
输入
[3, 4, 2, 2, 4]输出结果
5