Рубрики
Без рубрики

Вопрос цифрового кодирования TCS Ninja

В компьютерной игре два набора чисел высвечиваются на экране в течение нескольких секунд, необходимых игрокам… С тегами tcs ninja, java, tcs digital, массив.

В компьютерной игре на экране в течение нескольких секунд высвечиваются два набора чисел, игрокам необходимо вычислить сумму чисел в каждом из наборов. Если результирующее число является нечетным для любого из двух наборов, то игрокам необходимо определить, будет ли обмен любыми числами между двумя наборами делать итоговую сумму четной в обоих наборах. Задача состоит в том, чтобы написать код для определения минимального количества свопов, необходимого для обеспечения того, чтобы результирующая сумма каждого из двух наборов чисел была равна, даже если нет возможности достичь этого, тогда выход t должен быть помечен как -1.

Пример 1:

Ввод:

4-> Значение N

(1,4, 20, 2)->arr1[] Элементы от a[0] до a[N-1]. где каждый элемент ввода разделен новой строкой.

4-> Значение M

(5,9, 6, 3)->arr2[] Элементы от a[0] до a[M-1]. где каждый элемент ввода разделен новой строкой.

Вывод: 1

Объяснение:

в массиве arr1[i] = (1,4,20,2) Сумма 1 @27 (нечетная) В массиве arr 20]=(5,9,6,3) Сумма 223 (нечетная)

Обмен и сделает Сумму1 и Сумму2 даже в массиве arr 10] (6.4,20,2) ( даже) В массиве arr2[0]=(5,9,1,3) (четный)

Поскольку для выравнивания сумм требуется только одна замена, выход равен 1

Пример 2:

4-> Значение N

((3,2,2)->arr 1[], Элементы от a[0] до a[N-1], где каждый входной элемент разделен новой строкой.

4 → Значение M

(2,9,6,3)->arr2[], Элементы от a[0] до a[M-1], где каждый входной элемент разделен новой строкой.

Выход:

0

Объяснение:

В массиве (четный) В массиве arr2 = (2.9.6.3) (четный), так как и Sum1, и Sum2 четны, выход равен 0

(указывает, что обмен не требуется).

Решение: –

import java.util.*;

public class Template {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
int sum2 = 0;
int arr[]= new int[n];

for(int i = 0; i < n ; i++){
arr[i] = sc.nextInt();
sum += arr[i];
}

int m = sc.nextInt();
int arr2[] = new int[m];

for(int i = 0; i < m ; i++){
arr2[i] = sc.nextInt();
sum2 += arr2[i];
}

if((sum%2 == 0 && sum2%2 == 1)||(sum%2 == 1 && sum2%2 == 0)){
System.out.println("-1");
}


if(sum%2 == 0 && sum2%2 == 0){
System.out.println("0");
}

if(sum%2 == 1 && sum2%2 == 1){
    if(arr[0]%2==0){
     for(int i = 0 ; i < m; i++) {
if(arr2[i]%2!=0) {
int temp = arr[0];
arr[0] = arr2[i];
arr2[i] =temp;
}
}

System.out.println("1");

}

else if(arr[0]%2!=0) {

for(int i = 0 ; i < m; i++) {

if(arr2[i]%2==0) {

int temp = arr[0];

arr[0] = arr2[i];

arr2[i] =temp;

}
}
System.out.println("1");

}
}
sc.close();
}
}

Оригинал: “https://dev.to/gouravmpk/tcs-ninja-digital-coding-question-9ap”