After Sorting odd and even indexed position element of the Array separately.
Find the Sum of 2nd smallest element from both arrays.
Take the size of the array as input from the user.
Input array elements
Ex:- int[ ] arr = { 2, 4, 9, 0, 3, 5, 7, 1 };
oddindexedarray = { 2, 9, 3, 7 }
evenindexedarray = { 4, 0, 5, 1 }
After sorting :-
oddindexedarray = { 2, 3, 7, 9 }
evenindexedarray = { 0, 1, 4, 5 }
hence, answer should be 3 + 1 = 4
Note:- Array size should be not less than 4.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.Scanner; public class DivideArray{ public static void main(String []args){ Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int[] arr = new int[size]; for(int i=0; i<size; i++) arr[i] = sc.nextInt(); int ans = find2nd(arr, 0) + find2nd(arr, 1); System.out.println(ans); } public static int find2nd(int[] arr, int n){ int min = Integer.MAX_VALUE; int sec_min = Integer.MAX_VALUE; for(int i=n; i<arr.length; i=i+2){ if(arr[i]<min){ sec_min = min; min = arr[i]; } else if(arr[i]<sec_min && arr[i]!=min) sec_min = arr[i]; } return sec_min; } } |
Python
size = int(input("Enter size:")) arr = [] for i in range(0,size): arr.append(int(input())) even, odd = [], [] for i in range(0,size): if i%2==0: even.append(arr[i]) else: odd.append(arr[i]) even.sort() odd.sort() print(even[1]+odd[1]) |