当前位置:网站首页>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

边栏推荐
- 华为分布式存储FusionStorage知识点总结【面试篇】
- How to do a startup CTO?
- Classic linked list OJ strong training problem - fast and slow double pointer efficient solution
- 4. Sensitive word filtering (prefix tree)
- 你们程序员为什么不靠自己的项目谋生?而必须为其他人打工?
- YOLOV5学习笔记(二)——环境安装+运行+训练
- Mysql 45讲学习笔记(二十三)MYSQL怎么保证数据不丢
- Huawei od dice js
- PMP微信群日常习题
- 冒泡排序、选择排序、直接插入排序、二分法查找
猜你喜欢

Mathematics to solve the problem - circular linked list

Crypto Firms Offer Offer To Theft Hackers: Keep A Little, Give The Rest

6、显示评论和回复

The simulation application of common mode inductance is here, full of dry goods for everyone

IIR滤波器和FIR滤波器

String为什么不可变?

基于opencv实现人脸检测

JS 函数 this上下文 运行时点语法 圆括号 数组 IIFE 定时器 延时器 self.备份上下文 call apply

Why is String immutable?

经典链表OJ强训题——快慢双指针高效解法
随机推荐
Android's webview cache related knowledge collection
Word/Excel fixed table size, when filling in the content, the table does not change with the cell content
execsnoop 工具
Modbus on AT32 MCUs
19.支持向量机-优化目标和大间距直观理解
【C语言】进制转换一般方法
【shell基础】判断目录是否为空
MPPT太阳能充放电控制器数据采集-通过网关采集电池电压容量电量SOC,wifi传输
8. Unified exception handling (controller notifies @ControllerAdvice global configuration class, @ExceptionHandler handles exceptions uniformly)
15. Website Statistics
Number 16, top posts
Mysql 45讲学习笔记(二十三)MYSQL怎么保证数据不丢
LeetCode Daily Question 2022/7/25-2022/7/31
品牌广告投放平台的中台化应用与实践
How to build a private yum source
LeetCode 每日一题 2022/7/25-2022/7/31
Mathematics to solve the problem - circular linked list
PMP微信群日常习题
SQL注入 Less47(报错注入) 和Less49(时间盲注)
Intranet Infiltration - Privilege Escalation