Reverse Elements in Array
Reverse Elements in Array
Description:
Write a program to reverse all the elements of an array, considering various primitive data types (integer, characters, etc.). Do not use any inbuilt methods and achieve O(n) time complexity.
Example 1:
Input: arr = [1, 5, -3, 2, 0, -8, 4]
Output: [4, -8, 0, 2, -3, 5, 1]
Explanation: The array elements are reversed.
Example 2:
Input: arr = [‘a’, ‘b’, ‘c’, ‘d’]
Output: [‘d’, ‘c’, ‘b’, ‘a’]
Explanation: The character array elements are reversed.
Constraints:
The array length |arr| is at least 1 and at most 10^5. Elements in the array can be integers, characters, or other primitive data types.
Java Code:
public class HackerAlgo { public static void reverseArray(Object[] arr) { int start = 0; int end = arr.length - 1; while (start < end) { Object temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } } public static void main(String[] args) { Integer[] intArr = {1, 5, -3, 2, 0, -8, 4}; Character[] charArr = {'a', 'b', 'c', 'd'}; reverseArray(intArr); reverseArray(charArr); // Example usage System.out.println(Arrays.toString(intArr)); System.out.println(Arrays.toString(charArr
Python Code:
def reverse_array(arr): start, end = 0, len(arr) - 1 while start < end: arr[start], arr[end] = arr[end], arr[start] start += 1 end -= 1 # Example usage int_arr = [1, 5, -3, 2, 0, -8, 4] char_arr = ['a', 'b', 'c', 'd'] reverse_array(int_arr) reverse_array(char_arr) print(int_arr) print(char_arr)
C++ Code:
#include <iostream> #include <vector> class HackerAlgo { public: template <typename T> static void reverseArray(std::vector<T>&arr) { int start = 0; int end = arr.size() - 1; while (start < end) { std::swap(arr[start], arr[end]); start++; end--; } } }; int main() { // Example usage std::vector<int>intArr = {1, 5, -3, 2, 0, -8, 4}; std::vector<char>charArr = {'a', 'b', 'c', 'd'}; HackerAlgo::reverseArray(intArr); HackerAlgo::reverseArray(charArr); for (const auto&num :intArr) { std::cout<<num<< " "; } std::cout<< std::endl; for (const auto&ch :charArr) { std::cout<<ch<< " "; } std::cout<< std::endl; return 0
JavaScript Code:
class HackerAlgo { static reverseArray(arr) { let start = 0; let end = arr.length - 1; while (start < end) { [arr[start], arr[end]] = [arr[end], arr[start]]; start++; end--; } } } // Example usage constintArr = [1, 5, -3, 2, 0, -8, 4]; constcharArr = ['a', 'b', 'c', 'd']; HackerAlgo.reverseArray(intArr); HackerAlgo.reverseArray(charArr); console.log(intArr); console.log(charArr);