当前位置: 首页 > news >正文

eclipse 制作网站开发营销型网站建设 多少钱

eclipse 制作网站开发,营销型网站建设 多少钱,济宁网架公司,天津建设工程信息网官方这道题并不是代码随想录里的,我试着用动规五部曲来做,然后不能通过全部测试样例,在第109个测试样例卡住了,如下所示。 原因是可能负数乘以负数会得到最大的乘积,不能单纯地用上一个序列的最大值乘以当前值来判断是否能…


这道题并不是代码随想录里的,我试着用动规五部曲来做,然后不能通过全部测试样例,在第109个测试样例卡住了,如下所示。

原因是可能负数乘以负数会得到最大的乘积,不能单纯地用上一个序列的最大值乘以当前值来判断是否能得到更大值。后来结合了一下灵神的题解,改良了一下动规五部曲,我们同时维护max_multiplymin_multiply两个数组,他们第i个位置上的元素的含义为:以nums[i]结尾的数组中所能取到的最大非空连续子数组乘积为max_multiply[i],以nums[i]结尾的数组中所能取到的最小非空连续子数组乘积为min_multiply[i]。而dp[i]的含义为:以nums[i]为结尾的情况下,所能取到的非空连续子数组的最大乘积。我们可以得到如下4种情况:

  1. max_multiply[i - 1]为正,nums[i]为正 / 0,无论min_multiply[i - 1]为何值,此时dp[i] = max_multiply[i - 1] * nums[i]
  2. max_multiply[i - 1]为负,nums[i]为正 / 0,min_multiply[i - 1]只能为负,此时dp[i] = nums[i]
  3. max_multiply[i - 1]为正,nums[i]为负,无论min_multiply[i - 1]为何值,此时dp[i] = max(nums[i], nums[i] * min_multiply[i - 1])
  4. max_multiply[i - 1]为负,nums[i]为负,min_multiply[i - 1]只能为负,此时dp[i] = nums[i] * min_multiply[i - 1])
    综上,dp[i]一定会在{nums[i], max_multiply[i - 1] * nums[i], min_multiply[i - 1] * nums[i]}中产生,因此我们每一次更新dp[i]时,在三者中取最大值即可。下面给出动规五部曲:
    1.确定dp[i]的含义:以nums[i]为结尾的情况下,所能取到的非空连续子数组的最大乘积
    2.确定递推公式 dp[i] = max_multiply[i];
    3.dp数组初始化 dp[0] = nums[0]
    4.确定遍历顺序:从左往右遍历
    5.打印数组(省略)
    同样,最大乘积不一定是以最后一个元素结尾构成的连续子数组产生的,我们同样用一个变量result来维护最大乘积。
class Solution {
public:int maxProduct(vector<int>& nums) {//1.确定dp[i]的含义:以nums[i]为结尾的情况下,所能取到的非空连续子数组的最大乘积//2.确定递推公式  dp[i] = max(nums[i], nums[i] * dp[i - 1]);//3.dp数组初始化 dp[0] = nums[0]  //4.确定遍历顺序:从左往右遍历//5.打印数组(省略)int n = nums.size();vector<int> dp(n);vector<int> max_multiply(n);vector<int> min_multiply(n);//初始化dp[0] = nums[0];max_multiply[0] = nums[0];min_multiply[0] = nums[0];int result = nums[0];for(int i = 1; i < n; i++){// for(int j = 0; j < i; j++){max_multiply[i] = max({nums[i], nums[i] * max_multiply[i - 1], nums[i] * min_multiply[i - 1]});min_multiply[i] = min({nums[i], nums[i] * max_multiply[i - 1], nums[i] * min_multiply[i - 1]});dp[i] = max_multiply[i];result = max(result, dp[i]);}return result;}
};
http://www.dtcms.com/a/608530.html

相关文章:

  • 手机4g建立网站做网站需要了解哪些知识
  • 国外网站开发现状做网站怎么申请域名
  • 如何建设个人网站凡科怎么样网页开发岗位
  • 网站 目录访问termux安装wordpress
  • 网站开发与软件开发的异同企业品牌推广方案
  • 专业做轮胎的网站怎么查找关键词排名
  • 定制网站开发食道里感觉有东西堵如何 网站收录
  • 如何建立一个手机网站德州哪里有做网站的
  • 公司网站域名注册费用网站推广常用方法
  • 公司网站的ftp是什么公司手机网站开发招标书
  • 网页设计网站官网莆田房产网
  • 自己做的网站怎么放图片怎么建立自己的网页
  • 有没有免费网站建设建站公司推荐首推万维科技
  • 山东网站建设代理江门专业制作网站
  • 网站开发还有哪些美容医疗 网站建设
  • 网站建设ydwzjswordpress前台发帖
  • 保护区门户网站建设制度做网站推广电话
  • iis7.5 添加网站凡科网站制作
  • 廊坊网站建设选择青橙网络做网站建设的公司有哪些
  • 大连制作网站企业建公司网站设计网站公司
  • 专业刷单网站建设免费网站app使用排名
  • ajax网站企业营销策划书
  • 做电子签章登录那个网站江苏网页定制
  • 做网站什么行业前景好wordpress手机页面底部导航
  • 佛山正规网站建设哪家好北京网站建设营销
  • 沭阳县城乡建设局网站wordpress 瀑布流主题
  • 网站开发费用如何入账wordpress KODExplorer
  • 东莞企网站建设网站建设规范布局
  • 山海关网站制作重庆秀山网站建设报价
  • 如何做网站的需求分析WordPress主题安全检查