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

制作企业网站步骤seo如何优化关键词上首页

制作企业网站步骤,seo如何优化关键词上首页,海南省最新消息,福州网站建设福州站建设题目: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 解题思路: 方法一:看到子数组和,首…

题目:
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分。

解题思路:
方法一:看到子数组和,首先可以想到子数组和=前缀和之差,要找到最大子数组和,我们可以枚举nums中的元素x,找出以元素x结尾的最大子数组和,然后更新答案。

要寻找以元素x结尾的最大子数组和,我们只需要知道x元素之前的最小子数组和。所以需要一个变量minPreSum记录x元素之前的最小子数组和,那么以元素x结尾的最大子数组和=preSum - minPreSum。

class Solution {public int maxSubArray(int[] nums) {int preSum = 0;int minPreSum = 0;int ans = nums[0];for(int num : nums){preSum += num;ans = Math.max(ans, preSum - minPreSum);minPreSum = Math.min(minPreSum, preSum);}return ans;}
}

方法二:动态规划。要知道以x结尾的最大子数组和,我们可以通过以x-1结尾的最大子数组和推导出来。状态转移方程为dp[i] = max(dp[i-1] + nums[i], nums[i]),dp[i]表示以i结尾的最大子数组和,在枚举i的过程中更新答案。

class Solution {public int maxSubArray(int[] nums) {int n = nums.length;int[] dp = new int[n];dp[0] = nums[0];int ans = dp[0];for(int i = 1; i < n; i++){dp[i] = Math.max(dp[i-1] + nums[i], nums[i]);ans = Math.max(dp[i], ans);}return ans;}
}

优化:
因为在计算dp[i]的过程中只会用到dp[i-1],所以我们可以用一个变量来代替。

class Solution {public int maxSubArray(int[] nums) {int ans = nums[0];int x = 0;for(int num : nums){x = Math.max(x + num, num);ans = Math.max(x, ans);}return ans;}
}
http://www.ds6.com.cn/news/109273.html

相关文章:

  • wordpress如何采集器百度seo排名报价
  • 什么网站ppt做的最好看怎么做品牌推广和宣传
  • asp网站本地测试修改视频教程怎么建网站教程
  • 网站建设机器人微信公众号推广网站
  • 计算机网络资源网站建设论文山东做网站公司
  • asp做网站和dw的区别如何搭建网站
  • 在平台企业网站推广怎么做烟台seo网络推广
  • 广州物流网站建设免费网站alexa排名查询
  • 台州品牌网站设计百度推广开户公司
  • 哈尔滨网站设计多少钱深圳优化公司哪家好
  • 外贸网站建设报价品牌策划包括哪几个方面
  • c 网站开发网易云课堂百度云下载网站优化排名怎么做
  • 网站超市google收录提交入口
  • 企业网站seo服务文案代写收费标准
  • 洛阳设计网站公司湖南网络推广机构
  • 新公司网站建设app下载免费安装
  • 公司网站可以做服务器吗百度做广告推广怎么样
  • 91卡盟平台成都seo的方法
  • flash做的小动画视频网站台州网站优化公司
  • 网站在布局代写文章接单平台
  • 珲春市建设局网站是多少建站合肥网络公司seo
  • wordpress常用的插件推荐厦门seo排名扣费
  • 对于协会的新年祝贺语网站模板外贸网站平台哪个好
  • 三好街做网站的宁波seo基础入门
  • 网站用的横幅广告怎么做seo优化教程自学
  • 建设微网站怎么做好市场宣传和推广
  • 网站开发计入什么科目站长统计幸福宝
  • 唐山教育平台网站建设制作网页教程
  • 艺术字体在线生成器下载seo百度首页排名业务
  • 扬州市住房和城乡建设局网站长春网站制作