public class Solution {
/**
* @param S: A list of integers
* @return: An integer
*/
public int triangleCount(int S[]) {
// write your code here
List<int[]> result = new ArrayList<int[]>();
int[] r = new int[3];
int count=0;
sort(S);
for (int i = 0; i < S.length - 2; i++) {
for (int j = i + 1; j < S.length - 1; j++){
for (int z = j + 1; z < S.length; z++){
if (S[i] + S[j] > S[z]){
count++;
}
}
}
}
return count;
}
private void sort(int[] ints) {
for (int i = 0; i < ints.length - 1; i++) {
for (int j = i + 1; j < ints.length; j++) {
if (ints[i] > ints[j]) {
transposition(ints, i, j);
}
}
}
}
private void transposition(int[] ints, int i, int j) {
int s;
s = ints[i];
ints[i] = ints[j];
ints[j] = s;
}
}
给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问,可以寻找到多少组这样的三个数来组成三角形?
最新推荐文章于 2022-06-21 14:24:14 发布