程序可计算差异大于Python中目标的不重复对的最大数量
假设我们有一个称为nums的数字列表和另一个值目标。我们必须找到最大对数,其中对于每个对i<j,i和j都没有其他对,并且|nums[i]-nums[j]|>=目标。
因此,如果输入类似于nums=[2,4,6,10,11],target=5,则输出将为2,因为我们可以获得对:(2,6),(5,10)
为了解决这个问题,我们将遵循以下步骤-
N:=A的大小
排序列表A
回答:=0
j:=N/2
对于0到N/2范围内的i
回答:=回答+1
j:=j+1
j:=j+1
而j<N和A[j]-A[i]<目标,
如果j<N,则
返回ans
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, A, target):
N = len(A)
A.sort()
ans = 0
j = N >> 1
for i in range(N >> 1):
while j < N and A[j] - A[i] < target:
j += 1
if j < N:
ans += 1
j += 1
return ans
ob = Solution()nums = [2, 4, 6, 10, 11]
target = 5
print(ob.solve(nums, target))输入值
[2, 4, 6, 10, 11], 5
输出结果
2
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短