Упражнения Java Array: Проверьте, есть ли пара с указанной суммой заданного отсортированного и повернутого массива
Java Array: Упражнение 46 с решением
Напишите программу на Java, чтобы проверить, существует ли пара с указанной суммой заданного отсортированного и повернутого массива.
Пример решения :
Java-код:
public class Main
{
static boolean sum_pair(int arr_int[],
int n, int x)
{
int k;
for (k = 0; k < n - 1; k++)
if (arr_int[k] > arr_int[k+1])
break;
int l = (k + 1) % n;
int r = k;
while (l != r)
{
if (arr_int[l] + arr_int[r] == x)
return true;
if (arr_int[l] + arr_int[r] < x)
l = (l + 1) % n;
else
r = (n + r - 1) % n;
}
return false;
}
public static void main (String[] args)
{
int arr_int[] = {22, 25, 17, 18, 19, 20};
int sum = 42;
int n = arr_int.length;
if (sum_pair(arr_int, n, sum))
System.out.print("Array has a pair of elements with sum 42.");
else
System.out.print("Array has no pair with sum 42.");
}
}
Пример вывода:
Массив имеет пару элементов с суммой 42.
Блок - схема:
Визуализация выполнения кода Java (Python Tutor):
Редактор кода Java:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите Java-программу для циклического вращения заданного массива по часовой стрелке на единицу.
Далее: Напишите программу на Java, чтобы найти число оборотов в данном повернутом отсортированном массиве целых чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code