Java: Count the number of possible triangles from a given unsorted array of positive integers
Write a Java program to count the number of possible triangles from a given unsorted array of positive integers.
Note: The triangle inequality states that the sum of the lengths of any two sides of a triangle must be greater than or equal to the length of the third side.
Sample Solution:
Java Code:
// Import necessary Java libraries.
import java.util.*;
import java.lang.*;
// Define a class named Main.
public class Main
{
// The main method for executing the program.
public static void main(String[] args)
{
// Define an array of integers.
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;
// Iterate through the array elements to count the number of triangles.
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);
}
}
Sample Output:
Original Array : [6, 7, 9, 16, 25, 12, 30, 40] Total number of triangles: 17
Flowchart:

For more Practice: Solve these Related Problems:
- Write a Java program to check whether three given side lengths can form a valid triangle.
- Write a Java program to find the largest perimeter triangle that can be formed from a given set of side lengths.
- Write a Java program to find the number of right-angled triangles that can be formed from an array of integers.
- Write a Java program to find the smallest perimeter triangle from an array of integers.
Java Code Editor:
Previous: Write a Java program to find all combination of four elements of a given array whose sum is equal to a given value.
Next: Write a Java program to cyclically rotate a given array clockwise by one.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics