前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >57 Find the Distance Value Between Two Arrays

57 Find the Distance Value Between Two Arrays

作者头像
devi
发布2021-08-19 16:14:46
2660
发布2021-08-19 16:14:46
举报
文章被收录于专栏:搬砖记录搬砖记录

题目

Given two integer arrays arr1 and arr2, and the integer d, return the distance value between the two arrays.

The distance value is defined as the number of elements arr1[i] such that there is not any element arr2[j] where |arr1[i]-arr2[j]| <= d.

Example 1:

Input: arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2 Output: 2 Explanation: For arr1[0]=4 we have: |4-10|=6 > d=2 |4-9|=5 > d=2 |4-1|=3 > d=2 |4-8|=4 > d=2 For arr1[1]=5 we have: |5-10|=5 > d=2 |5-9|=4 > d=2 |5-1|=4 > d=2 |5-8|=3 > d=2 For arr1[2]=8 we have: |8-10|=2 <= d=2 |8-9|=1 <= d=2 |8-1|=7 > d=2 |8-8|=0 <= d=2

Example 2:

Input: arr1 = [1,4,2,3], arr2 = [-4,-3,6,10,20,30], d = 3 Output: 2

Example 3:

Input: arr1 = [2,1,100,3], arr2 = [-5,-2,10,-3,7], d = 6 Output: 1

Constraints:

代码语言:javascript
复制
1 <= arr1.length, arr2.length <= 500
-10^3 <= arr1[i], arr2[j] <= 10^3
0 <= d <= 100

分析

题意:给定一个arr1数组,一个arr2数组,以及距离d; 找出使 |arr1[i]-arr2[j]| <= d 成立的 i。

先根据题意直接暴力遍历。

代码语言:javascript
复制
class Solution {
    public int findTheDistanceValue(int[] arr1, int[] arr2, int d) {
        for(int i=0;i<arr1.length;++i){
            for(int j=0;j<arr2.length;++j){
                if(Math.abs(arr1[i]-arr2[j])<=d)
                    return i;
            }
        }
        return -1;
    }
}

他这个题意可能描述的不准确,我跑了之后答案错误,查看了别人的答案,思路相同,但是返回值处理不同。

代码语言:javascript
复制
class Solution {
    public int findTheDistanceValue(int[] arr1, int[] arr2, int d) {
        int res = 0;
        for (int i = 0; i < arr1.length; i++) {
            boolean pass = true;
            for (int j = 0; j < arr2.length; j++) {
                if (Math.abs(arr1[i] - arr2[j]) <= d) {
                    pass = false;
                    break;
                }
            }
            if (pass) res++;
        }
        return res;
    }
}

他这个是返回通过|arr[i]-arr[j]|>d 验证的arr[i]个数。 对于例一,[4,5,8],[4,5]通过了,所以答案是2 对于例二,[1,4,2,3],[1,2]通过了,所以答案是2

这个是我英语水平不行。。

解答

如上

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 分析
  • 解答
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档