кодесурса

Упражнения на Java: поиск индекса значения в отсортированном массиве.

script1adsense2code
script1adsense3code

Java Basic: упражнение-124 с решением

Напишите программу на Java, чтобы найти индекс значения в отсортированном массиве. Если значение не найдено, верните индекс, где он был бы, если бы он был вставлен в порядке. Пример:
[1, 2, 4, 5, 6] 5 (цель) -> 3 (индекс)
[1, 2, 4, 5, 6] 0 (цель) -> 0 (индекс)
[1, 2, 4, 5, 6] 7 (цель) -> 5 (индекс)

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.*;
public class Main {
public static void main(String[] args) {
      int[] nums = {1,2,4,5,6};
      int target;
       target = 5;
     // target = 0;
     // target = 7;
      System.out.print(searchInsert(nums, target)); 
}
  public static int searchInsert(int[] nums1, int target) {
        if (nums1 == null || nums1.length == 0) {
            return 0;
        }
        int start = 0;
        int end = nums1.length - 1;
        int mid = start + (end - start)/2;
        while (start + 1 < end) {
            mid = start + (end - start)/2;
            if (nums1[mid] == target) {
                return mid;
            } else if (nums1[mid] > target) {
                end = mid;
            } else {
                start = mid;
            }
        }
        
        if (nums1[start] >= target) {
            return start;
        } else if (nums1[start] < target && target <= nums1[end]) {
            return end;
        } else {
            return end + 1;
        }
    }
}

Пример вывода:

 3

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы найти подмассив с наименьшей суммой из заданного массива целых чисел.
Далее: Напишите программу на Java, чтобы получить предварительный обход значений ее узлов заданного двоичного дерева.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code