每日一道编程题(5):最大连续子数组

每日一道编程题(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:需要学习动态规划的知识,提高算法性能。

猜你喜欢

转载自blog.csdn.net/qq_41033299/article/details/88784948