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

网站分类表佛山顺德容桂做网站的公司

网站分类表,佛山顺德容桂做网站的公司,wordpress 登录框,微商手机网站制作这是二分法的第20篇算法#xff0c;力扣链接。 给定一个非负整数数组 nums 和一个整数 k #xff0c;你需要将这个数组分成 k 个非空的连续子数组。 设计一个算法使得这 k 个子数组各自和的最大值最小。 示例 1#xff1a; 输入#xff1a;nums [7,2,5,10,8], k 2 输出力扣链接。 给定一个非负整数数组 nums 和一个整数 k 你需要将这个数组分成 k 个非空的连续子数组。 设计一个算法使得这 k 个子数组各自和的最大值最小。 示例 1 输入nums [7,2,5,10,8], k 2 输出18 解释 一共有四种方法将 nums 分割为 2 个子数组。 其中最好的方式是将其分为 [7,2,5] 和 [10,8] 。 因为此时这两个子数组各自的和的最大值为18在所有情况中最小。 示例 2 输入nums [1,2,3,4,5], k 2 输出9 这道题先不暴力了暴力一点都不好玩我们可以试试二分法解决问题。 使得..最大值最小是标准二分法的套路背下来要考的。 但是二分法要求得是个有序的序列啊这个什么是有序的呢和是有序的。我们可以让右边界为整个数组的和左指针为数组的最小值。 那左右移动的临界条件怎么判断呢我们可以利用贪心的逻辑去判断。 设已经累加的值为sum切的刀为cnt每当sum num mid 的时候就去追加一刀重新开始当刀数不够就左指针右移刀数正好或者富裕就右指针左移。 func splitArray(nums []int, k int) int {l, r : 0, 0for _, num : range nums {r numif l num {l num}}for l r {mid : l (r-l)/2if checkCount(nums, mid, k) {r mid - 1} else {l mid 1}}return l }func checkCount(nums []int, mid int, k int) bool {sum, cnt : 0, 1for _, num : range nums {if sumnum mid {cntsum num} else {sum num}}return cnt k }当然这道题也适合动态规划在后续动态规划的篇章再来重温。
http://www.zqtcl.cn/news/524907/

相关文章:

  • 国发网站建设网站优化主要优化哪些地方
  • 快速微信网站开发定制网站建设费用预算
  • 网站制作叫什么知名网站建设制作
  • 网络营销网站建设公司h5应用
  • 网站开发合同要上印花税吗南江红鱼洞水库建设管理局网站
  • 疏通下水道网站怎么做wordpress 恢复初始化
  • 电脑商业网站怎的做软文推广渠道
  • 自己做网站需要买什么如何做微信商城网站
  • 有了网站开发app是不是更容易自建网站管理
  • 网站将要准备建设的内容有哪些做外贸有效的网站
  • 网站设计博客网站内容添加
  • 网站建站行业新闻微盟开店怎么收费
  • 网站的建设参考文献郑州网站建设中国建设建设银行
  • 重庆那些公司的网站是网易做的电信100m光纤做网站
  • 网站怎么设计产品营销策略包括哪些内容
  • 天元建设集团有限公司破产重组河源seo排名
  • 网站权重什么意思seo的搜索排名影响因素有
  • 建设报名系统是正规网站吗计算机培训班出来好找工作吗
  • 网站上的文章用秀米可以做吗宁波外客网络科技有限公司
  • 网站底部导航代码成品视频直播软件推荐哪个好一点ios
  • 上海电商网站开发公司垫江网站建设价格
  • 门户网站建设存在问题与不足商城网站开发项目文档
  • wordpress建站方便吗wordpress加入海报功能
  • 网站名称注册保护2018wordpress主题
  • 类似享设计的网站企业信息系统公示
  • 如何学习网站开发酒店网站源码
  • 怎么用nas做网站服务器WordPress云虚拟空间
  • 网站设计 ipad企业品牌推广宣传方案
  • 织梦网站怎么更换模板济南建设厅网站
  • 用wordpress仿站专业做俄语网站建设司