当前位置: 首页 > 后端技术 > Python

力扣-1385.两个数组间的距离值【Python】

时间:2023-03-26 12:59:04 Python

LeetCode1385.求两个数组之间的距离值两个数组间的距离值【简单】【Python】【暴力】问题LeetCode给定两个整数数组arr2,and1整数d,返回两个数组之间的距离值。距离值定义为元素arr1[i]的数量,使得不存在任何元素arr2[j]其中|arr1[i]-arr2[j]|<=d.Example1:Input:arr1=[4,5,8],arr2=[10,9,1,8],d=2Output:2Explanation:Forarr1[0]=4wehave:|4-10|=6>d=2|4-9|=5>d=2|4-1|=3>d=2|4-8|=4>d=2对于arr1[1]=5我们有:|5-10|=5>d=2|5-9|=4>d=2|5-1|=4>d=2|5-8|=3>d=2对于arr1[2]=8我们有:|8-10|=2<=d=2|8-9|=1<=d=2|8-1|=7>d=2|8-8|=0<=d=2例2:输入:arr1=[1,4,2,3],arr2=[-4,-3,6,10,20,30],d=3输出:2例3:输入:arr1=[2,1,100,3],arr2=[-5,-2,10,-3,7],d=6输出:1Constraints:1<=arr1.length,arr2.length<=500-10^3<=arr1[i],arr2[j]<=10^30<=d<=100问题是给你两个整数数组arr1、arr2和一个整数d。请返回两个数组之间的距离值。“距离值”定义为该描述的元素数量:对于元素arr1[i],没有元素arr2[j]使得|arr1[i]-arr2[j]|<=d。示例1:输入:arr1=[4,5,8],arr2=[10,9,1,8],d=2输出:2解释:对于arr1[0]=4我们有:|4-10|=6>d=2|4-9|=5>d=2|4-1|=3>d=2|4-8|=4>d=2对于arr1[1]=5我们有:|5-10|=5>d=2|5-9|=4>d=2|5-1|=4>d=2|5-8|=3>d=2forarr1[2]=8我们有:|8-10|=2<=d=2|8-9|=1<=d=2|8-1|=7>d=2|8-8|=0<=d=2示例2:输入:arr1=[1,4,2,3],arr2=[-4,-3,6,10,20,30],d=3输出:2示例3:输入:arr1=[2,1,100,3],arr2=[-5,-2,10,-3,7],d=6输出:1提示:1<=arr1.length,arr2.length<=500-10^3<=arr1[i],arr2[j]<=10^30<=d<=100ideas暴力时间复杂度:O(n^2)空间复杂度:O(1)Python3codefromtypingimportListclass解决方案:deffindTheDistanceValue(self,arr1:List[int],arr2:List[int],d:int)->int:#solutionone:violentres=0forxinarr1:cnt=0foryinarr2:ifabs(x-y)<=d:breakelse:cnt+=1ifcnt==len(arr2):res+=1returnres#解决方案二:一行代码returnsum(all(abs(a1-a2)>dfora2inarr2)fora1inarr1)GitHublinkPython