写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。
技术是开源的、知识是共享的
。
这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。
用知识改变命运,让我们的家人过上更好的生活
。
今天刷算法题,碰到了一个公司的笔试小算法。
题目是:定义一个整数数组,找出连续3个元素之和是最大的,并输出这三个元素。
示例:
输入:2 ,-6 ,3,-9 ,15,-10, 8
输出:15,-10, 8
在此给出我的求解过程,仅供参考!
代码实现
public class ArrayTakeNum {
public static void main(String[] args) {
int[] array = {2, -6, 3, -9, 15, -10, 8};
System.out.println("定义的整数数组为: " + Arrays.toString(array));
//定义一个数组用于存储连续三个数字的和
int[] temp = new int[array.length - 2];
for (int i = 0; i < temp.length; i++) {
int s = array[i] + array[i + 1] + array[i + 2];
temp[i] = s;
}
int max = temp[0];
int index = 0;
for (int i = 0; i < temp.length; i++) {
if (max < temp[i]) {
max = temp[i];
index = i;
}
}
System.out.println("连续3个元素之和是最大的三个数分别是:" +
array[index] + "," + array[index + 1] + "," + array[index + 2]);
}
}
测试结果:
由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!
转载:https://blog.csdn.net/weixin_43570367/article/details/103944328
查看评论