解题思路:
将数组排序和三次循环
注意事项:
注意终止条件
参考代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i]=scanner.nextInt();
}
int result = -1;
Arrays.sort(nums);
for (int i = n-1; i >=0; i--) {
if(nums[i]*3-3<result)
break;
for (int j = i-1; j >=0; j--) {
if(nums[i]+nums[j]+nums[j]-1<result)
break;
for (int l = j-1; l >=0; l--) {
int temp = nums[i] + nums[j] + nums[l];
if(temp<result){
break;
}
if(temp %k==0)
{
result = temp;
}
}
}
}
System.out.println(result);
}
}
0.0分
2 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:619 |
C语言训练-素数问题 (C语言代码)浏览:1065 |
上车人数 (C语言代码)浏览:816 |
DNA (C语言代码)浏览:564 |
Hello, world! (C语言代码)浏览:916 |
勾股数 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:501 |
快速排序算法1浏览:996 |
小九九 (C++代码)简单粗暴,直接输出浏览:683 |