Это не дубликата вопрос - я не хочу использовать pre-defined methods
, и вместо этого хотел бы реализовать мои собственные основные O (N^2) алгоритма для нахождения общего элементов в 2 списках. Моя программа проходит через 2 arrays
и сравнивает каждый элемент с первого array
со всеми элементами со второго array
. Это все работает нормально, за исключением того, что как-то в конце программа всегда печатает «0». Почему это? В моем arrays
нет 0.Ошибка в Java Common Element Searcher
public class ArraySameCase {
public static void main(String[] args)
{
int[] firstArray = new int[5];
firstArray[0] = 1;
firstArray[1] = 2;
firstArray[2] = 7;
firstArray[3] = 9;
int[] secondArray = new int[5];
secondArray[0] = 8;
secondArray[1] = 7;
secondArray[2] = 1;
secondArray[3] = 3;
for(int i=0; i<firstArray.length; i++){
for(int y=0; y<secondArray.length; y++){
if(firstArray[i] == secondArray[y]){
System.out.println(firstArray[i]);
}
}
}
}
}
Выход:
BTW Вы можете легко реализовать алгоритм O (N log N) или даже O (N). –
Я предлагаю вам использовать 'System.out.println (Arrays.toString (firstArray))', чтобы увидеть его содержимое или использовать ваш отладчик. –
@PeterLawrey Как O (N) возможно? Вы имеете в виду использование HashSet <>? –