кодесурса

Упражнения Java Array: подсчитать количество возможных треугольников из заданного несортированного массива натуральных чисел

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code