LeetCode Problem

How to Solve Find the Distance Value Between Two Arrays

To solve the problem efficiently, you need to calculate the distance value by iterating through each element of arr1 and finding whether there’s a corresponding element in arr2 that is within a given distance d. Sorting arr2 and applying binary search for each element of arr1 is the optimal approach. This technique ensures a time complexity of O(nlogn), making it faster than brute force methods.

GhostInterview Help

Need help with Find the Distance Value Between Two Arrays without spending extra time grinding it?

GhostInterview can read Find the Distance Value Between Two Arrays from a screenshot, generate the answer path, explain the complexity, and support solver-first interview workflows when you need direct help fast.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.

Problem #1385Binary search over the valid answer spaceReviewed 2026-03-08
Difficulty
Easy
Primary pattern
Binary search over the valid answer space
Answer-first problem summary
Step-by-step approach and complexity
GhostInterview solver workflow

To solve the problem efficiently, you need to calculate the distance value by iterating through each element of arr1 and finding whether there’s a corresponding element in arr2 that is within a given distance d. Sorting arr2 and applying binary search for each element of arr1 is the optimal approach. This technique ensures a time complexity of O(nlogn), making it faster than brute force methods.

Problem Statement

Given two integer arrays, arr1 and arr2, and an integer d, return the distance value between the two arrays. The distance value is the number of elements arr1[i] such that there is no element arr2[j] where the absolute difference |arr1[i] - arr2[j]| is less than or equal to d.

For example, if arr1 = [4,5,8] and arr2 = [10,9,1,8] with d = 2, the distance value is 2 because for arr1[0] = 4, arr1[1] = 5, and arr1[2] = 8, none of these elements in arr1 have a close counterpart in arr2 within the distance d of 2, except for arr1[2] = 8.

Examples

Example 1

Input: arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2

Output: 2

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-8|=0 <= d=2

Example 2

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

Output: 2

Example details omitted.

Example 3

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

Output: 1

Example details omitted.

Constraints

  • 1 <= arr1.length, arr2.length <= 500
  • -1000 <= arr1[i], arr2[j] <= 1000
  • 0 <= d <= 100

Solution Approach

Sort arr2

Start by sorting arr2 to facilitate efficient searching for the closest element for each element in arr1.

Binary Search for Closest Element

For each element in arr1, use binary search to find the closest element in arr2 that is within the given distance d. This avoids a brute force O(mn) approach and reduces the complexity.

Count Valid Elements

Count how many elements in arr1 do not have any corresponding element in arr2 within the distance d using the binary search results.

Complexity Analysis

MetricValue
TimeDepends on the final approach
SpaceDepends on the final approach

The time complexity of this solution is O(nlogm), where n is the length of arr1 and m is the length of arr2, due to the sorting of arr2 and the binary search performed for each element in arr1. The space complexity is O(m), primarily for storing arr2 in sorted order.

What Interviewers Usually Probe

  • Check for efficient use of binary search in handling the distance calculation for each element in arr1.
  • Assess understanding of how sorting and binary search can optimize solutions for problems involving distance checks.
  • Evaluate the candidate’s ability to correctly implement binary search over the answer space and handle edge cases with array lengths.

Common Pitfalls or Variants

Common pitfalls

  • Failing to sort arr2 before performing binary search will lead to incorrect results and inefficiency.
  • Incorrectly applying a brute force solution that results in O(n*m) time complexity, causing performance issues with larger inputs.
  • Misunderstanding the conditions for when the distance |arr1[i] - arr2[j]| is greater than or less than d, leading to incorrect counts.

Follow-up variants

  • Change the value of d to test how it affects the results and performance of the binary search.
  • Use larger arrays to test the performance of the sorting and binary search approach.
  • Modify the problem to allow arr1 and arr2 to contain non-unique values and test how the solution adapts.

How GhostInterview Helps

  • GhostInterview provides optimized solutions by using binary search over the valid answer space to improve time complexity for this problem.
  • With GhostInterview, you will learn how to structure your approach around sorting and binary search to handle large datasets efficiently.
  • The platform helps you understand how to avoid common pitfalls like incorrect sorting or brute force solutions, ensuring your solution is both correct and efficient.

Topic Pages

FAQ

How does binary search optimize the 'Find the Distance Value Between Two Arrays' problem?

Binary search helps in finding the closest element in arr2 for each element in arr1 efficiently, reducing the time complexity from O(n*m) to O(nlogm).

Why is sorting arr2 necessary for solving this problem?

Sorting arr2 allows us to use binary search, which helps in quickly finding elements that meet the distance condition for each element in arr1.

What is the time complexity of the optimal solution for this problem?

The optimal solution has a time complexity of O(nlogm), where n is the length of arr1 and m is the length of arr2, due to sorting and binary search.

Can brute force be used to solve this problem?

Brute force can solve the problem, but it results in a time complexity of O(n*m), which is inefficient for larger arrays.

How can the solution be adapted for larger arrays?

For larger arrays, sorting arr2 and applying binary search ensures the solution remains efficient, scaling better with array sizes up to the problem's constraints.

GhostInterview Solver

Need direct help with Find the Distance Value Between Two Arrays instead of spending more time grinding it?

Download GhostInterview when you want a LeetCode solver, not another long practice loop. Capture Find the Distance Value Between Two Arrays from a screenshot, get the answer path and complexity, and use supported stealth workflows that stay outside captured layers.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.