Swap Kth Elements

Posted: 25 Feb, 2021
Difficulty: Easy

PROBLEM STATEMENT

Try Problem

Given an array ‘ARR’ of size ‘N,’ swap the Kth element from beginning with the Kth element from the end.

For example:
If ‘N’ = 5 and K = 2
[1, 2, 3, 4, 5]

Then the output will be [1, 4, 3, 2, 5].
Input format :
The first line of input contains an integer T denoting the number of test cases.

The first line of each test case contains two space-separated integers N, and K, where N is the number of elements of the array and K is the index.

The second line of each test case contains ‘N’ space-separated integers, denoting the array elements.
Output format :
For each test case, print the array after swapping the  Kth element from the start and the Kth element from the end.

The output of each test case will be printed in a separate line.
Note:
You do not need to print anything; it has already been taken care of. Just implement the given function.
Constraints:
1 <= T <= 5
1 <= K < N <= 5000

Time Limit : 1 sec
Approach 1
  • Initialize two pointers, one from the beginning and on the other end of the array.
  • Move the beginning pointer K times and simultaneously move the end pointer backward K times.
  • Swap the elements that are being pointed by the begging pointer and the end pointer.
Try Problem