Найдите минимальную пару чисел, сумма которых равна 15 - PullRequest
2 голосов
/ 12 мая 2019

Я пытаюсь найти минимальную пару чисел, чтобы получить сумму 15. Я создаю для них новый массив и передаю этот массив методу, который добавляет элемент этого массива и генерирует true или false.размер массива увеличится, если метод вернет false.

public class FindMinimum {

    static int arr[] = { 10, 3, 2, 13 };
    static int numArr[] = new int[30];
    static int arrLength = 2;
    static boolean status = false;
    static int number;

    public static void main(String args[]) {
        for (int i = 0; i < arrLength; i++) {
            numArr[i] = arr[i];
        }
        if (checkPair(numArr)) {
            System.out.println("Number found");
        } else {
            arrLength = arrLength + 1;
            System.out.println("Increasing array length by one");
        }
    }

    public static boolean checkPair(int x[]) {
        for (int i = 0; i < x.length; i++) {
            number = number + x[i];
        }
        if (number == 15) {
            status = true;
            for (int i : x) {
                System.out.println(i);
            }
        } else {
            status = false;
        }
        return status;
    }
}

Ожидаемый результат - минимальная пара сложения, равная "13, 2"

1 Ответ

0 голосов
/ 12 мая 2019

Если я правильно понимаю, нужно найти минимальную пару, которая всегда добавляет к 15. Если это правильно, код должен решить эту проблему.

public static void main(String args[]) {

        Arrays.sort(arr);
        for (int i=0,j=arr.length-1;i<arr.length && j>=0;) {
            if ((arr[i]+arr[j])<15) {
                /*System.out.println(arr[i]+"-"+arr[last-i]);
                break;*/
                i++;
            } else if ((arr[i]+arr[j])>15) {
                j--;
            } else {
                System.out.println(arr[i]+"-"+arr[j]);
                break;
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...