每日一道编程题(5):最大连续子数组
找到数组 nums[ ]中乘积最小的连续子数组,输出该乘积。 数组中的数据包含正数,负数。 要求时间复杂度:O(n)函数:int minProduct(int nums[ ],int length)
暴力解法(时间复杂度不达标,后面学习了动态规划的知识后,可以利用状态转换方程解决,使时间复杂度降低,优化数据结构)
public int minProduct(int nums[],int length){
int minResult = nums[0];
int sum ;
for(int i = 1; i < length; i++){
for(int j = i;j<length; j++){
sum += nums[j];
if(sum<minResult){
minResult = sum;
}
}
}
return minResult;
}
ps:需要学习动态规划的知识,提高算法性能。