校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 算法 > 字符串算法
题目

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

解答

代码实现如下:

class Solution { public:
int maxProduct(vector<int>& nums){
int n_size = nums.size();
if(!n size)return o; int dp_max = nums[0]; int dp_min = nums[@]; int max val = dp_max;
for (int i=1;i<n_size;i++) {
int tmp_max = dp_max;
dp_max = max(dp_max* nums[i], max(dp_min * nums[i], nums[i])); dp min = min tmp max * nums[i], min(dp min * nums[i], nums[i])); max val = max(max val, dp max);

returnn max_val;
};
C 0条回复 评论

帖子还没人回复快来抢沙发