Kovalevskyi-Academy / Zeus

Other
2 stars 4 forks source link

AWJ W0D2 public static OptionalInt findIndex(int[] sortedArray, int target) #124

Closed phrismin closed 2 years ago

phrismin commented 3 years ago

Входные параметры: int[] sortedArray = new int[]{1,2,3,4,5,6,7}; int target = 10; Метод зациклен и тест проходит.

seralekseenko commented 3 years ago

@phrismin Нужно больше ~золота~ деталей. :)

phrismin commented 3 years ago

Метод пытается найти число, которого нет в массиве - бесконечно обрабатывает массив. Такой метод проходит проверку

aleskarova commented 3 years ago

@phrismin, добавь сюда, пожалайста, код метода, который проходит проверку, хотя и не должен)

phrismin commented 3 years ago
  public static OptionalInt findIndex(int[] sortedArray, int target) {
    int start = 0;
    int end = sortedArray.length - 1;
    while (start <= end) {
      int middle = start + (end - start) / 2;
      if (target < sortedArray[middle]) {
        end = middle;
      } else if (target > sortedArray[middle]) {
        start = middle;
      } else {
        return OptionalInt.of(middle);
      }
    }
    return OptionalInt.empty();
  }