gpt4 book ai didi

java - 我无法正确运行所有测试用例,这是怎么回事?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:38:58 24 4
gpt4 key购买 nike

在下面的编辑器中完成divisibleSumPairs 函数。它应该返回符合条件的对的整数计数。

divisibleSumPairs 具有以下参数:

  • n:数组ar

  • 的整数长度
  • ar:整数数组

  • k:将对和除以的整数

打印 (i, j) 对的数量,其中 i < jar[i] + ar[j] 是均匀的被 k 整除。

我不知道哪里出了问题,只有一些情况有效

  static int divisibleSumPairs(int n, int k, int[] ar) {
int count = 0;
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
if ((ar[i]<ar[j]) && ((ar[i]+ar[j])%k)== 0){
count++;
}
}
}
return count;
}

最佳答案

主要问题是你检查 ar[i] < ar[j] 而问题陈述说 i < j:

static int divisibleSumPairs(int n, int k, int[] ar) {
int count = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
if (i < j && (ar[i] + ar[j]) % k == 0) {
count++;
}
}
}
return count;
}

算法可以进一步优化为:

static int divisibleSumPairs(int n, int k, int[] ar) {
int count = 0;
for (int i = 0; i < n; i++){
for (int j = i + 1; j < n; j++){
if ((ar[i] + ar[j]) % k == 0) {
count++;
}
}
}
return count;
}

关于java - 我无法正确运行所有测试用例,这是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53904156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com