`
生活的聆听者
  • 浏览: 17214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求最大连续乘积

 
阅读更多
题目

给一个浮点数序列,取最大乘积连续子串的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积连续子串为3,0.5,8。也就是说,上述数组中,3 0.5 8这3个数的乘积3*0.5*8=12是最大的,而且是连续的。


	private static double getMaxProductNum(double[] array) {
		double max = array[0];
		double cur;
		int begin= 0  , end = 0 ;
		for (int i = 0 ; i < array.length ; i++) {
			cur = 1;
			for (int j = i ; j < array.length; j++) {
				cur *= array[j];
				if (cur > max) {
					begin = i;
					end = j;
					max = cur;
				}
			}
		}
		
		for (int i = begin; i <= end ; i++) {
			System.out.print(array[i] + " ");	
		}
		return max;
	}
分享到:
评论

相关推荐

    连续子序列最大和与乘积问题的分析

    在IT领域,特别是算法设计和分析中,"连续子序列最大和与乘积问题"是一个经典的话题。这类问题经常出现在数据结构和算法的面试中,也是优化和解决复杂计算问题的关键。本文将深入探讨这个问题,并结合提供的Java源码...

    利用C语言来求最大连续子序列乘积的方法

    题目描述:给一个浮点数序列,取最大乘积连续子串的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积连续子串为3,0.5,8。也就是说,上述数组中,3 0.5 8这3个数的乘积3*0.5*8=12是最大的,而且是连续的。 ...

    最大子数组乘积

    这个问题要求我们从一个整数数组中找到连续子数组,使得这个子数组的所有元素乘积最大。这个问题不仅出现在面试中,也是数据分析和算法设计的重要实践。 首先,我们需要理解问题的关键点:数组可以包含正数、负数...

    乘积最大子数组(动态规划)1

    遍历结束后,返回 `ans` 即为所求的最大乘积。 需要注意的是,题目中提到的示例 2 明确指出结果不能为 2,因为在给定的数组 [-2,0,-1] 中,虽然 [-2,-1] 的乘积是 2,但这个子数组不符合题目要求的“连续子数组”...

    乘积最大的拆分.zip

    在动态规划的过程中,我们需要维护两个变量,一个是当前最大乘积,另一个是最小负数乘积(因为连续的负数相乘后可能成为正数,从而提高总乘积)。这样可以确保在处理负数时能获得最佳结果。 标签“算法”表明这个...

    Leetcode最大乘积和19.10.3_leetcode_C++_

    描述中的“找出数组中连续相乘后能得出最大乘积的一组数字,算法十分精妙”揭示了我们需要解决的核心问题:在给定的整数数组中找到一个子数组,使得这些元素相乘得到的最大乘积。 这个问题属于数组和动态规划的范畴...

    最大m段乘积和最小m段和

    1. 找到数组中任意m个连续元素的乘积的最大值,即最大m段乘积。 2. 找到数组中任意m个连续元素的和的最小值,即最小m段和。 ### 二、动态规划解决策略 #### 最大m段乘积的动态规划解法 我们用`f(i, j)`表示以数组...

    Java-Leetcode-乘积最大子数组.zip

    乘积最大子数组问题的定义是:给定一个整数数组,找到其中连续子数组的最大乘积。这个问题的挑战在于,数组中的元素可能是正数、负数,甚至是零,因此需要考虑各种可能的情况。例如,对于数组`[-2, 0, -1, 3, -4]`,...

    连续整数检测法分解质因数法求最大公约数

    根据提供的文件信息,我们可以归纳出三个主要的知识点:利用连续整数检测法分解质因数求最大公约数、使用欧几里得算法求最大公约数以及字符串匹配算法(包括BF、KMP和BM算法)。接下来将对这些知识点进行详细的解释...

    五连数最大乘积

    关于求给定的1000个数中五个连续的数的乘积最大的一个简单算法,运用c++语言编写

    乘积最大子数组(java代码).docx

    对于“乘积最大子数组”这一问题,其核心是寻找一个连续子数组,使得该子数组中所有元素的乘积最大。 #### 二、问题描述 给定一个整数数组 `nums`,找出其中乘积最大的连续子数组,并返回该子数组的乘积。例如,给...

    蓝桥杯c++-蓝桥杯竞赛练习之算法提高题最大乘积.zip

    描述中提到的“蓝桥杯c++_蓝桥杯竞赛练习之算法提高题最大乘积”进一步确认了这是一个与蓝桥杯竞赛相关的C++编程练习,特别关注算法的提升和优化,目标是解决找到数组中连续子数组的最大乘积的问题。这个问题在实际...

    php-leetcode题解之乘积最大子序列.zip

    在这个问题中,目标是找出数组中的一个连续子数组,使得其乘积最大。 首先,我们要了解这个问题的基本定义。假设有一个整数数组`$nums`,我们需要找到其中的一个子数组,通过计算这个子数组所有元素的乘积,得到的...

    python-leetcode面试题解之第152题乘积最大子数组-题解.zip

    给定一个整数数组nums,你的任务是找到具有最大乘积的子数组(连续的子数组),并返回这个最大乘积。 例如: 输入:nums = [-2, 0, -1, 3, 1, -3, 2] 输出:6 解释:子数组[-2, 3, 1]有最大的乘积6。 这个题目涉及...

    DP-LeetCode152. 乘积最大子数组(Python)

    在LeetCode的第152题“乘积最大子数组”中,目标是找到一个整数数组中的连续子数组,使得这个子数组的元素乘积最大。这个问题可以通过动态规划(Dynamic Programming, DP)来解决。这里我们将分析两种不同的Python...

    javascript-leetcode面试题解动态规划问题之第152题乘积最大子数组-题解.zip

    第152题,即“乘积最大子数组”,是LeetCode中的一道经典动态规划题目,它要求我们找出数组中乘积最大的连续子数组。 动态规划是一种将复杂问题分解成更小、更简单的子问题的方法,通过构建一个表格或状态来存储子...

    算法-乘积最大(信息学奥赛一本通-T1275)(包含源程序).rar

    这可能是一个单向的乘积最大值问题,也可能是要求连续子序列的最大乘积。 2. **算法设计**: - **暴力方法**:最直观的方法是枚举所有可能的子序列,计算其乘积并比较,但这种方法的时间复杂度是O(n^2),在大数据...

    求最大公约数的三种算法

    本篇将详细介绍三种不同的方法来求两个自然数m和n的最大公约数:欧几里得算法、分解质因数法以及连续整数检测法。 1. **欧几里得算法**: 欧几里得算法,又称辗转相除法,是公元前3世纪由古希腊数学家欧几里得提出...

Global site tag (gtag.js) - Google Analytics