LeetCode-Python-1385。2つの配列間の距離値(配列)

整数arr1、arr2、整数dの2つの配列を取得し、2つの配列間の距離を返します。

「距離値」は、この説明に一致する要素の数として定義されます。要素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>
arr1 [1] = 5の場合、d = 2 
| 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
出力:1
 

ヒント:

1 <= arr1.length、arr2.length <= 500
-10 ^ 3 <= arr1 [i]、arr2 [j] <= 10 ^ 3
0 <= d <= 100

ソース:LeetCode(LeetCode)
リンク:https ://leetcode-cn.com/problems/find-the-distance-value-between-two-arrays
著作権は控除ネットワークに属しています。商用転載の正式な許可書に連絡し、非商用転載の出典を明記してください。

アイデア:

データサイズが小さいため、直接二重暴力ソリューションに直接アクセスします。

時間の複雑さ:O(N ^ 2)

スペースの複雑さ:O(1)

class Solution(object):
    def findTheDistanceValue(self, arr1, arr2, d):
        """
        :type arr1: List[int]
        :type arr2: List[int]
        :type d: int
        :rtype: int
        """
        res = 0

        for num1 in arr1:
            flag = 1
            for num2 in arr2:
                if abs(num1 - num2) <= d:
                    flag = 0
                    break
            if flag:
                res += 1

        return res

 

元の記事を734件公開 121件の賞賛 21万回表示

おすすめ

転載: blog.csdn.net/qq_32424059/article/details/105154950