cn域名做犯法网站,惠州seo关键字排名,51做网站广州,邢台百姓网免费发布信息查询话说最近工作也步入正轨了 稍微。。。也适应了工作的节奏。。。 希望能让自己的个人简历好看一点吧 有时候很悲观#xff0c;觉得自己现在的岗位不太行#xff0c;虽然需要编程能力#xff0c;但是如果跳槽#xff0c;可能变成数据分析的类型了。。。 不知道未来如何#…话说最近工作也步入正轨了 稍微。。。也适应了工作的节奏。。。 希望能让自己的个人简历好看一点吧 有时候很悲观觉得自己现在的岗位不太行虽然需要编程能力但是如果跳槽可能变成数据分析的类型了。。。 不知道未来如何先用知识武装自己吧。。。
152.乘积最大子数组
这是一道动态规划 dp[i] dp[i-1] * ai ai 要么等于上一位的最大乘积与当前位相乘要么等于当前位 但这样忽略了负负得正乘积 因此要同时维护两个dp数组一个是最大乘积一个是最小乘积 dp[i]min dp[i-1]min * ai dp[i-1]max * ai ai dp[i]max dp[i-1]min * ai dp[i-1]max * ai ai 这里官方题解里有一句
vector long maxF(nums.begin(),nums.end())这段代码是 C 中使用 std::vector 的一种初始化方式。具体来说它的语法使用了 范围构造函数 来初始化两个 std::vector 对象 maxF 和 minF并将 nums 中的所有元素拷贝到它们中 return *max_element(maxF.begin(), maxF.end());这段代码使用了 C 的标准库函数 std::max_element返回的是 maxF 容器中的最大元素。 太久没写cpp了呃啊
class Solution {
public:int maxProduct(vectorint nums) {vectorlong dpmax(nums.begin(),nums.end()),dpmin(nums.begin(),nums.end());for(int i1;inums.size();i){dpmax[i] max(dpmax[i-1] * nums[i],max(dpmin[i-1]*nums[i],(long)nums[i]));dpmin[i] min(dpmin[i-1] * nums[i],min(dpmax[i-1]*nums[i],(long)nums[i]));}return *max_element(dpmax.begin(),dpmax.end());}
};以后可能还会做一下python和java 哎。。。