62,620
社区成员
发帖
与我相关
我的任务
分享public class RandomInt {
public static void main(String[] args)
{
int[] a = new int[10000];
//这里是给数组a赋值的代码
Arrays.sort(a);
int cnt = 0;
for(int i = 0;i < a.length ;i++)
{
for(int j = i+1; j < a.length ;j++)
{
if(binarySearch(-a[i]-a[j],a,j) != -1 ) cnt++;
}
}
System.out.println(cnt);
}
public static int binarySearch(int key,int[] a,int j)
{
int hi = a.length-1;
int lo = j+1 ; //这里下界改为j
//int mid = (hi + lo) >>1;
while(lo <= hi)
{
int mid = (hi + lo) >> 1;
if(a[mid] > key) hi = mid - 1;
else if(a[mid] < key) lo = mid +1;
else return mid;
}
return -1;
}
}
for(int i = 0;i < a.length ;i++)
{
for(int j = i+1; j < a.length ;j++)
{
for(int k = j + 1;k < a.length ;k++)
{
if(a[i] + a[j] + a[k] == 0) cnt++;
}
}
}
不好意思,看漏了