Упражнения Java Array: подсчитать количество возможных треугольников из заданного несортированного массива натуральных чисел
Java Array: Упражнение-44 с решением
Напишите программу на Java для подсчета количества возможных треугольников из заданного несортированного массива натуральных чисел.
Пример решения :
Java-код:
import java.util.*;
import java.lang.*;
public class Main
{
public static void main (String[] args)
{
int nums[] = {6, 7, 9, 16, 25, 12, 30, 40};
int n = nums.length;
System.out.println("Original Array : "+Arrays.toString(nums));
// Sort the array elements in non-decreasing order
Arrays.sort(nums);
// Initialize count of triangles
int ctr = 0;
for (int i = 0; i < n-2; ++i)
{
int x = i + 2;
for (int j = i+1; j < n; ++j)
{
while (x < n && nums[i] + nums[j] > nums[x])
++x;
ctr += x - j - 1;
}
}
System.out.println("Total number of triangles: " +ctr);
}
}
Пример вывода:
Исходный массив: [6, 7, 9, 16, 25, 12, 30, 40] Общее количество треугольников: 17
Блок - схема:
Визуализация выполнения кода Java (Python Tutor):
Редактор кода Java:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите Java-программу, чтобы найти все комбинации четырех элементов данного массива, сумма которых равна заданному значению.
Далее: Напишите Java-программу для циклического вращения заданного массива по часовой стрелке на единицу.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code