如何优化嵌套循环

时间:2019-03-30 18:37:11

标签: java

假设长度为A的数组L跳过value = k 对于给定的起点,我必须在数组中找到最高的和。 sum的方式应为将数组中获取的初始点相加,然后再进行初始point+k跳过之后的下一个点,依此类推

那么最高的总和是多少?

例如数组a=[1,9,2] k=2

那么最高的可能是9

我使用了两个for循环

for(int i=0;i<a.length;i++){
    for(int j=i;j<a.length){
        sum+=a[j];
        j+=k;
    }
    if(sum>max)
        max=sum;

    sum=0;
}

尽管这样做有效,但其复杂度将为O(n^2); 怎么减少呢?

0 个答案:

没有答案