• Source
    1. import java.util.*;
    2.  
    3. class Ideone {
    4.  
    5. public static void main(String[] args){
    6. //int[] a = {4, 6, 3, 7};
    7. int[] a = {10, 21, 22, 100, 101, 200, 300};
    8.  
    9. int trianglesCount = 0;
    10.  
    11. //Sort the array elements
    12. Arrays.sort(a);
    13. for(int i=0; i< a.length; i++){
    14. for(int j=i+1; j<a.length; j++){
    15. //Find an element such that a[i] + a[j] > a[k]
    16. int sum = a[i] + a[j];
    17. int k=j;
    18. while(k<a.length && sum > a[k]){
    19. k++;
    20. }
    21. // System.out.println("No of triangles with index i => "+ i + " j => "+ j + " k-j => "+ (k-j));
    22. trianglesCount += (k-j-1);
    23. }
    24. }
    25.  
    26. System.out.println("No of trianges can be formed with given array elements as edges of triangle => "+trianglesCount);
    27. }
    28. }
    29.