当前位置:网站首页>LeetCode简单题之两个数组间的距离值
LeetCode简单题之两个数组间的距离值
2022-07-31 02:56:00 【·星辰大海】
题目
给你两个整数数组 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[0]=4 符合距离要求
对于 arr1[1]=5 我们有:
|5-10|=5 > d=2
|5-9|=4 > d=2
|5-1|=4 > d=2
|5-8|=3 > d=2
所以 arr1[1]=5 也符合距离要求
对于 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[0]=4 和 arr1[1]=5 两个符合距离要求,距离值为 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^3
0 <= d <= 100
来源:力扣(LeetCode)
解题思路
根据题目的要求可知,数组1中的元素分别和数组2中的元素求绝对距离,如果数组1中的某个元素与数组2的所有元素的距离都符合要求,那么可以计数为1。在这里一个简单的思路就是将数组2排序,然后查看数组1中的元素应该在数组2中的位置,然后探查其前后两个元素与其的距离,如果这两个距离都符合要求那么剩下的元素自然也符合要求。
class Solution:
def findTheDistanceValue(self, arr1: List[int], arr2: List[int], d: int) -> int:
arr2.sort()
count=0
for i in arr1:
index=bisect.bisect(arr2,i)
if index==0:
if abs(i-arr2[index])>d:
count+=1
elif index==len(arr2):
if abs(i-arr2[index-1])>d:
count+=1
else:
if abs(i-arr2[index-1])>d and abs(i-arr2[index])>d:
count+=1
return count

边栏推荐
- Huawei od dice js
- Intel's software and hardware optimization empowers Neusoft to accelerate the arrival of the era of smart medical care
- JetPack component Databinding
- Basic learning about Redis related content
- Mysql 45讲学习笔记(二十三)MYSQL怎么保证数据不丢
- 11、Redis实现关注、取消关注以及关注和粉丝列表
- 【shell基础】判断目录是否为空
- AtCoder Beginner Contest 261 部分题解
- Difference between CMOS and TTL?
- MPPT太阳能充放电控制器数据采集-通过网关采集电池电压容量电量SOC,wifi传输
猜你喜欢

StringJoiner详解

SQL injection Less46 (injection after order by + rand() Boolean blind injection)

Maximum area of solar panel od js

f.grid_sample

完整复制虚拟机原理(云计算)

19.支持向量机-优化目标和大间距直观理解

YOLOV5 study notes (2) - environment installation + operation + training

10 Permission introduction
![LeetCode 1161 最大层内元素和[BFS 二叉树] HERODING的LeetCode之路](/img/56/fcc8ee6f592abf0a374fc950a3362f.png)
LeetCode 1161 最大层内元素和[BFS 二叉树] HERODING的LeetCode之路

Chapter 9 SVM Practice
随机推荐
Software accumulation -- Screenshot software ScreenToGif
The simulation application of common mode inductance is here, full of dry goods for everyone
PMP微信群日常习题
7. List of private messages
CentOS7下mysql5.7.37的卸载【完美方案】
SQL injection Less54 (limited number of SQL injection + union injection)
Modbus on AT32 MCU
CMOS和TTL的区别?
全流程调度——MySQL与Sqoop
Mysql 45讲学习笔记(二十五)MYSQL保证高可用
Why is String immutable?
【HCIP】ISIS
如何搭建私有yum源
医疗影像领域AI软件开发流程
LeetCode 1161 The largest element in the layer and the LeetCode road of [BFS binary tree] HERODING
8、统一处理异常(控制器通知@ControllerAdvice全局配置类、@ExceptionHandler统一处理异常)
YOLOV5学习笔记(三)——网络模块详解
Is interprofessional examination difficult?Low success rate of "going ashore"?Please accept this practical guide!
【银行系列第一期】中国人民银行
10 权限介绍