问题描述:使用正整数数组a设计有效算法:
- a[j]+a[i]的最大值,其中j>i;
- a[j]-a[i]的最大值,其中j>i;
- a[j]*a[i]的最大值,其中j>i;
- a[j]/a[i]的最大值,其中j>i;
解决问题:解决这些问题的难点在于j>=i的附加条件,代表被加数,被减数,被乘数与被除数都要在数组中加数,减数,乘数与除数的后面。
问题一:a[j]+a[i]的最大值,其中j>=i;
- 先介绍时间复杂度为ON2的算法:通过两层循环,计算出所有两数和的可能性,再选出相加后和最大的。算法如下:
private static int findMaxSum(int[] arr) {
int sum = 0;
int len = arr.length;
for (int i = 0; i < len - 1<

该博客探讨如何设计有效算法,寻找正整数数组a中,当j>i时,a[j]+a[i]、a[j]-a[i]、a[j]*a[i]和a[j]/a[i]的最大值。提出了时间复杂度分别为ON²和ON的解决方案,并邀请读者分享更优策略。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



