Решение номер 1:
int max = inputArray[0];
int min = inputArray[0];
for (int i = 1; i < inputArray.length; i++){
if (max < inputArray[i])
max = inputArray[i];
}
for (int i = 0; i < inputArray.length; i++) {
if (min > inputArray[i])
min = inputArray[i];
}
Возвращаем, соответственно max и min (П.С. мне не влом писать такие портянки)
Валидатор пишет:" Проверь, что программа работает правильно, если в массиве только положительные числа"
Мне не сложно, я проверил, работает. В чем проблема?
Решил вторым способом:
int [] arr = inputArray.clone();
Arrays.sort(arr);
return new Pair<Integer, Integer>(arr[arr.length-1], arr[0]);
Валидатор пишет: " Проверь, что программа работает правильно, если в массиве только положительные числа"
Мы это уже проходили, я проверил, и так работает.
Прошу помощи у более опытных товарищей =)
Код задачи полностью:
package com.javarush.task.task11.task1123;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
int[] data = new int[]{1, 2, 3, 5, 2, 8, 55, 77, 5, 5};
Pair<Integer, Integer> result = getMinimumAndMaximum(data);
System.out.println("The minimum is " + result.x);
System.out.println("The maximum is " + result.y);
}
public static Pair<Integer, Integer> getMinimumAndMaximum(int[] inputArray) {
if (inputArray == null || inputArray.length == 0) {
return new Pair<Integer, Integer>(null, null);
}
int [] arr = inputArray.clone();
Arrays.sort(arr);
return new Pair<Integer, Integer>(arr[arr.length-1], arr[0]);
}
public static class Pair<X, Y> {
public X x;
public Y y;
public Pair(X x, Y y) {
this.x = x;
this.y = y;
}
}
}