在Python中找到最小绝对和差的程序
假设我们有两个大小相同的正值数组nums1和nums2。这两个数组的绝对和差为|nums1[i]-nums2[i]|之和对于每个0<=i 所以,如果输入像nums1=[2,8,6],nums2=[3,4,6],那么输出将是3因为,我们可以找到两个可能的最优解 将索引1处的元素替换为索引0处的元素:[2,8,6]=>[2,2,6],或 将索引1处的元素替换为索引2处的元素:[2,8,6]=>[2,6,6]。 两者的和差为|2-3|+(|2-4|或|6-4|)+|6-6|=3。 让我们看看以下实现以获得更好的理解-示例
def solve(nums1, nums2):
if(nums1==nums2):
return(0)
minn_diff = float('-inf')
ind = -1
for i in range(len(nums1)):
if(abs(nums1[i]-nums2[i]) > minn_diff):
ind = i
minn_diff = abs(nums1[i]-nums2[i])
diff = abs(nums1[ind]-nums2[ind])
index = ind
for i in range(len(nums1)):
if(i!=ind):
if(abs(nums1[i]-nums2[ind])
输入
[2,8,6], [3,4,6]输出结果
3