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

设计建设网站seo团队

设计建设网站,seo团队,石家庄网站建设方案咨询,九江网站建设优化公司原题链接:https://leetcode.cn/problems/split-array-largest-sum/description 题面 给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连续子数组。设计一个算法使得这 k 个子数组各自和的最大值最小。 思路 数组定义&#xff…

原题链接:https://leetcode.cn/problems/split-array-largest-sum/description

题面

给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连续子数组。设计一个算法使得这 k 个子数组各自和的最大值最小。

思路

数组定义:f[i][j]: 前i个数字,分为j段各自和的最大值

状态方程定义:f[i][j] = Math.min(f[i][j], Math.max(f[k][j-1]+sub(i)-sub(k))) #sub为前缀和

初始化:k=0状态不存在,则f[0][0]=0,需要求最小值则将其余的设置为最大值即可

代码

	// f[i][j] = 前i个数分割为j段所能得到的最大连续子数组和的最小值public int splitArray(int[] nums, int m) {int n = nums.length;int[][] f = new int[n + 1][m + 1];// init dpfor (int i = 0; i <= n; i++) {Arrays.fill(f[i], Integer.MAX_VALUE);}f[0][0] = 0;//prefixint[] sub = new int[n + 1];for (int i = 1; i <= n; i++) {sub[i] = sub[i - 1] + nums[i - 1];}// dpfor (int i = 1; i <= n; i++) {for (int j = 1; j <= Math.min(i, m); j++) {for (int k = 0; k < i; k++) {f[i][j] = Math.min(f[i][j], Math.max(f[k][j - 1], sub[i] - sub[k]));}}}return f[n][m];}
http://www.hkea.cn/news/714884/

相关文章:

  • 惠州悦商做网站软件开发一般需要多少钱
  • 做衣服外单网站优化大师官方正版下载
  • 专门做酒店的网站百度排行
  • 上海做手机网站建设盐城网站优化
  • html论坛模板东营seo整站优化
  • 天津网站建设582345网址导航桌面版
  • 东莞纸箱厂东莞网站建设经典模板网站建设
  • 贺州同城购物网站建设中国网站排名100
  • 黄骅港旅游景点爱站网seo工具包
  • 网站 图文混编提高网站搜索排名
  • 北京怀柔网站制作教育机构
  • 网站建设费 大创友链交换平台
  • o2o商城网站系统开发微信群拉人的营销方法
  • 帝国cms做淘宝客网站网页设计用什么软件
  • 营销型网站建设的优缺点视频优化软件
  • 珠海响应式网站建设推广公司网络营销发展方案策划书
  • 中国人自己的空间站每日英语新闻
  • 教师可以做网站吗seo常用工具包括
  • 武山建设局网站什么是seo
  • 做文案需要用到的网站全网模板建站系统
  • 苏州乡村旅游网站建设策划书网站建设百度推广
  • 12380网站建设情况总结百度浏览器入口
  • 直播网站开发要多久排行榜前十名
  • 网站备案完才能建站吗企业建站公司
  • 网站开发外包合同西安网站优化公司
  • 2022网页设计尺寸规范和要求怎么做seo关键词优化
  • 北京大学两学一做网站十大收益最好的自媒体平台
  • 网站开发服务费企业网站建设的一般要素
  • 台州企业网站制作公司郴州网站推广
  • 如何做移动端网站邮件营销