703957. Absolute Difference of 1

Basic

Absolute Difference of 1

Summary

The problem "Absolute Difference of 1" is a basic algorithmic problem that involves finding all pairs of elements in an array where the absolute difference between them is equal to 1. This problem requires understanding of arrays and data structures, making it relevant for companies like Amazon and Jabong.

Detailed Explanation

We are given an array arr containing distinct integers from 0 to N-1, where N is the size of the array. The goal is to find all pairs (i, j) such that the absolute difference between arr[i] and arr[j] is equal to 1.

Here's a step-by-step breakdown of the solution:

  • Initialize an empty list result to store the pairs.
  • Iterate through the array using two pointers i and j. Start from the first element and increment both pointers simultaneously until they reach the end of the array.
  • For each iteration, calculate the absolute difference between arr[i] and arr[j].
  • If the absolute difference is equal to 1, add the pair (i, j) to the result list.
  • Repeat steps 2-4 until all pairs have been checked.

The time complexity of this solution is O(N), where N is the size of the array. This is because we need to iterate through each element in the array once. The space complexity is also O(N) due to the storage required for the result list.

Here's an ASCII art diagram illustrating the problem:

arr = [0, 1, 2, 3]
i = 0, j = 0
|---| (0, 0)
i = 1, j = 1
|---| (1, 1)
i = 2, j = 2
|---| (2, 2)
...
result = [(0, 1), (1, 2), ...]

Optimized Solutions

Java

View on GeeksforGeeks
import java.util.ArrayList;
import java.util.List;

public List<int[]> findPairs(int[] arr) {
    List<int[]> result = new ArrayList<>();
    for (int i = 0; i < arr.length; i++) {
        for (int j = i + 1; j < arr.length; j++) {
            if (Math.abs(arr[i] - arr[j]) == 1) {
                result.add(new int[] {i, j});
            }
        }
    }
    return result;
}

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.