@sidorchik

Как оптимизировать код на Java?

Задание по Джаве:
Найти два числа в массиве сумма которых равна заданному числу либо сообщить что такого числа нет [1, 11, 8, 9, 82, 7], sum = 8 => [1, 7]


Я только учусь, решил его следующим образом:
package com.company;

public class Main {

    public static void main(String[] args) {
        int[] A = {1, 11, 8, 9, 82, 7};
        int x = 8;

        for(int i = 0; i < A.length; i++) {
            for(int j = 1; j < A.length; j++) {
                if(A[i] + A[j] == x) {
                    System.out.print("[" + A[i] + "," + A[j] + "]");
                    break;
                }
            }
        }
    }
}


Но, как я понимаю, это не по «феншую»: в главном методе нужно только писать вводные значения и вызывать метод. Но я не понимаю, как так сделать. Ведь нужно и передавать массив, и получать на выходе строковый результат. Помогите, пожалуйста.
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Видео, где эта задача подробно рассматривается. Пример собеседования в Гугле.
https://youtu.be/XKu_SEDAykw
Ответ написан
Комментировать
@red-barbarian
1,2,3,4
4 + 4 = 8
for(int i = 0; i < A.length; i++) {
            for(int j = i+1; j < A.length; j++) {

передача массива так
получаем число элементов n
делаем int[] A = new int[n];
вводим каждый элемент A[i] = чтение из сканера
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы