Algorithm 使用Kadane'的最大子阵列;s
我使用Kadane的算法编写了“查找最大子数组”(find maximum sub array),如下所示,但我的教授说,“我实际上不确定MSA程序的功能,但它肯定找不到最大子数组。” 请告诉我我做错了什么Algorithm 使用Kadane'的最大子阵列;s,algorithm,arrays,Algorithm,Arrays,我使用Kadane的算法编写了“查找最大子数组”(find maximum sub array),如下所示,但我的教授说,“我实际上不确定MSA程序的功能,但它肯定找不到最大子数组。” 请告诉我我做错了什么 int findMaximumSubarray(int array[], int length){ int max1=array[0]; int max2=array[0]; int i; for (i=0; i<length; i++){ max1 = fi
int findMaximumSubarray(int array[], int length){
int max1=array[0];
int max2=array[0];
int i;
for (i=0; i<length; i++){
max1 = findMax(array[i],max1+array[i]);
max2 = findMax(max2,max1);
}
return max2;
}
int findMax(int x, int y) {
if(x>y) return x;
else return y;
}
int findMaximumSubarray(int数组[],int长度){
int max1=数组[0];
int max2=数组[0];
int i;
对于(i=0;iy)返回x;
否则返回y;
}
这几乎是对的,但是想想在第一次循环迭代中,max1发生了什么。没错,我不会告诉你错误是什么。我建议你在新行添加4个空格来添加代码。这样我们就可以复制粘贴来分析您的代码。请修改您的问题。添加更多的细节,而不是linksHi,我试图把我的代码,但我不知道如何,所以我拍了一张照片,我只是把它输入。在行首添加4个空格以将其作为代码添加。这是什么语言?爪哇?非常感谢!是C。