Day 3 - Reverse an Array

πŸš€ Day 3. Reverse an Array 🧠

The problem can be found at the following link: Problem Link

πŸ’‘ Problem Description:

You are given an array of integers arr[]. Your task is to reverse the given array.

πŸ” Example Walkthrough:

Input: arr = [1, 4, 3, 2, 6, 5] Output: [5, 6, 2, 3, 4, 1]

Explanation: The elements of the array are 1 4 3 2 6 5. After reversing the array, the first element goes to the last position, the second element goes to the second-last position, and so on. Hence, the answer is [5, 6, 2, 3, 4, 1].

Input: arr = [4, 5, 2] Output: [2, 5, 4]

Explanation: The elements of the array are 4 5 2. The reversed array will be [2, 5, 4].

Input: arr = [1] Output: [1]

Explanation: The array has only a single element, hence the reversed array is the same as the original.

Constraints:

  • $1 <= arr.size() <= 10^5$

  • $0 <= arr[i] <= 10^5$

🎯 My Approach:

  1. Reversal Process:

    • The main idea is to reverse the array in-place by swapping elements from both ends.

    • We initialize two pointers: left at the beginning of the array and right at the end.

    • We swap arr[left] and arr[right], then move left forward and right backward until they cross each other.

    • This process effectively reverses the array.

  2. Alternative Approaches:

    • XOR Swap Method: You can swap elements using XOR to avoid a temporary variable.

    • Using List Reverse: In some languages, you can simply call the reverse function on the array.

πŸ•’ Time and Auxiliary Space ComplexityπŸ“

  • Expected Time Complexity: O(n), where n is the number of elements in the array. We perform one pass through the array, swapping elements in place.

  • Expected Auxiliary Space Complexity: O(1), as we only use a constant amount of additional space to track the left and right pointers.

πŸ“ Solution Code

Code (C)

πŸ‘¨β€πŸ’» Alternative Approaches

Alternative Approach (Using Temporary Variable)

Code (CPP)

πŸ‘¨β€πŸ’» Alternative Approaches

Alternative Approach (Using std::swap)

Alternative Approach (Using XOR Swap)

Code (Java)

πŸ‘¨β€πŸ’» Alternative Approaches

Alternative Approach (Using XOR Swap)

Code (Python)

πŸ‘¨β€πŸ’» Alternative Approaches

Alternative Approach (Using Swapping)

🎯 Contribution and Support:

For discussions, questions, or doubts related to this solution, feel free to connect on LinkedIn: Any Questions. Let’s make this learning journey more collaborative!

⭐ If you find this helpful, please give this repository a star! ⭐


πŸ“Visitor Count

Last updated