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

凯里网站建设gzklyy邯郸网站建设 安联网络公司

凯里网站建设gzklyy,邯郸网站建设 安联网络公司,服装销售网站设计与制作,大连企业网络推广哪家好题目#xff1a; 给你一个整数数组 nums #xff0c;请你找出一个具有最大和的连续子数组#xff08;子数组最少包含一个元素#xff09;#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 解题思路#xff1a; 方法一#xff1a;看到子数组和#xff0c;首…题目 给你一个整数数组 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.hkea.cn/news/14499015/

相关文章:

  • 怎样做网站后台运营营销网站案例
  • 做分销微商城网站乐清企业
  • 石家庄网站建设是什么意思如何做好wordpress
  • 新建网站站点的wordpress腾讯微博插件
  • 如何提高网站文章收录南宁网站排名优化电话
  • 安徽住房建设厅网站做网站和做app的区别
  • 电信专线可以做网站吗工程网站模板制作教程
  • 创建网站需要哪些步骤网页制作模板和库教案
  • 网站建设和程序开发哪个好河北网页制作
  • 毕业设计做购物网站商标logo设计公司
  • 常州做网上废品收购网站网站建设制作多少钱
  • 网站的建设 想法东莞建站模板源码
  • 做网站 怎么赚钱如何选择一个好的网站建设公司
  • 免费个人网站模版下载网站建设之织梦后台熊掌号主页
  • 网站建设的目的及功能wordpress与cms
  • 深圳网站设计兴田德润i优惠吗网站建设 小程序制作
  • 永济微网站建设费用建设通官方网站下载e航
  • 做网站时如何建立栅格网站开发估价
  • 网站改版不换域名怎么做四川网站建设免费咨询
  • 网站后台怎么上传文章什么是企业网站pv
  • dedecms 股票网站模板装修网名
  • 亲子网 网站正在建设中wordpress创建数据库类型选什么
  • 做企业网站为什么要服务器呢app官网入口
  • 网站提示风险wordpress 漂亮的博客
  • 做设计兼职的网站有哪些工作内容wordpress主题生成器
  • dw php网站建设视频教程扁平化设计 网站
  • 做外国网站怎么买空间网站移动端开发公司
  • 商务网站页面设计技术手机网站建站APP
  • 怎么做装修网站临沂招聘信息最新招聘
  • 赣州做网站公司哪家好七牛做网站