网站推广在哪好外贸,证券公司怎么拉客户,国家免费培训网站,网页设计代码作品2023-08-08每日一题
一、题目编号
1749. 任意子数组和的绝对值的最大值二、题目链接
点击跳转到题目位置
三、题目描述
给你一个整数数组 nums 。一个子数组 [numsl, numsl1, …, numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 … numsr-1 numsr) 。
请你找出 …2023-08-08每日一题
一、题目编号
1749. 任意子数组和的绝对值的最大值二、题目链接
点击跳转到题目位置
三、题目描述
给你一个整数数组 nums 。一个子数组 [numsl, numsl1, …, numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 … numsr-1 numsr) 。
请你找出 nums 中 和的绝对值 最大的任意子数组可能为空并返回该 最大值 。
abs(x) 定义如下
如果 x 是负整数那么 abs(x) -x 。如果 x 是非负整数那么 abs(x) x 。
示例 1 示例 2 提示
1 nums.length 105-104 nums[i] 104
四、解题代码
class Solution {
public:int maxAbsoluteSum(vectorint nums) {int n nums.size();int dp1[n5];int dp2[n5];int max0 nums[0];int min0 nums[0];memset(dp1, 0, sizeof(dp1));memset(dp2, 0, sizeof(dp2));dp1[0] nums[0];dp2[0] nums[0];for(int i 1; i n; i){dp1[i] max(nums[i], dp1[i-1] nums[i]);dp2[i] min(nums[i], dp2[i-1] nums[i]);max0 max(dp1[i], max0);min0 min(dp2[i], min0);}return max(abs(max0), abs(min0));}
};五、解题思路
(1) 采用一维DP的思路解决问题。