Problem
Given an array arr of n positive integers. The task is to swap every i-th element of the array with the (i+2)-th element.
Examples
Example 1
n = 3
arr[ ] = 1 2 3
output: 3 2 1
(swap 1 with 3)
Example 2
n = 5
arr[ ] = 1 2 3 4 5
output: 3 4 5 2 1
(swap 1 with 3, 2 with 4, 5 with 1)
Complexity Constraints
Time complexity: O (n)
Auxiliary Space: O (1)
Parameter Constraints
1 <= n <= 10 ^ 6
0 <= arr[i] <= 10 ^ 9
Answer (in Java)
2024年3月4日,于印度尼西亚巴厘岛
/* By LIYICHEN on 2024/3/4, in BALI Indonesia */
import java.util.Scanner;
public class Solution
{
public static void main(String[] args)
{
int n, i;
int temp;
int [] arr = new int[1000001];
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter n:");
n = scanner.nextInt();
System.out.println("Enter n elements for array: ");
for (i = 0;i < n;i ++)
{
arr[i] = scanner.nextInt();
}
System.out.println("Array before swapping: ");
for (i = 0;i < n;i ++)
{
System.out.print(arr[i] + " ");
}
System.out.println();
// Swap arr[i] with arr[i + 2]
for (i = 0;i < n - 2;i ++)
{
temp = arr[i];
arr[i] = arr[i + 2];
arr[i + 2] = temp;
}
System.out.println("Array after swapping: ");
for (i = 0;i < n;i ++)
{
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("Program finished. Good bye.");
}
}
运行示例
示例1:
示例2: