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

海外网站cdn加速下载网站建设服务商都有哪些

海外网站cdn加速下载,网站建设服务商都有哪些,东莞专业网站营销,网站栏目排序一、题目 1、题目描述 给定一个非负整数数组 nums 和一个整数 k &#xff0c;你需要将这个数组分成 k 个非空的连续子数组。 设计一个算法使得这 k 个子数组各自和的最大值最小。 2、接口描述 ​ class Solution { public:int splitArray(vector<int>& nums, int …

一、题目

1、题目描述

给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连续子数组。

设计一个算法使得这 k 个子数组各自和的最大值最小。

2、接口描述

class Solution {
public:int splitArray(vector<int>& nums, int k) {}
};

3、原题链接

410. Split Array Largest Sum


二、解题报告

1、思路分析

看到”最大的最小“自然想到二分

那么关键就在于给定x,如何判断原数组是否能够划分为最大值不超过x的k个子数组

我们贪心地思考,如果原数组能够划分为最大值不超过x的j个子数组,j < k,那么一定也可以通过拆解某些子数组从而得到k个子数组

所以我们的check函数,遍历数组,贪心累加,如果sum > x,我们就cnt + 1,然后sum = x

最终取决于cnt <= k

很经典的二分+贪心的题目

2、复杂度

时间复杂度:O(n) 空间复杂度:O(1)

3、代码详解

 
class Solution {
public:int splitArray(vector<int>& nums, int k) {int r = 0 , l = 0;for(auto x : nums) r += x , l = max(l , x);function<bool(int)> check = [&](int t){int cnt = 1 , s = 0;for(auto x : nums){if(s + x > t)s = x , cnt++;elses += x;}return cnt <= k;};while(l < r){int mid = (l + r) >> 1;if(check(mid)) r = mid;else l = mid + 1;}return r;}
};

http://www.yayakq.cn/news/599656/

相关文章:

  • 网站建设美化中期报告物联网产品
  • 玉石网站建设的定位上海网站推广企业
  • 广州响应式网站建设用vs2012做asp网站
  • 萧县做网站网页传奇打金
  • 网站用户体验设计视频网站的防盗链是怎么做的
  • 网站建设的同义词绿蜻蜓建设管理有限公司网站
  • 家具制作网站洛阳做网站汉狮网络
  • 如何给自己的公司建网站庆阳网站设计 贝壳下拉
  • 小白学做网站买什么书网站建设托管合同
  • 大连网站设计费用网站开通告知书
  • 网站图标 代码如何修改网站标题
  • 杭州市下城区建设局门户网站做网站常见程序
  • 深圳快速网站制作wordpress十佳主题
  • 北京企业网站建设推荐wordpress如何添加一个文章列表页
  • seo百度站长工具查询山东智慧团建官网
  • 什么叫网站开发应用框架抖音关键词排名软件
  • 小程序开发平台网站推荐学校的网站是怎么建设的
  • wordpress文章图片弹出效果seo网络推广教程
  • 西部数码的vps云主机如何访问网站怎么用阿帕奇做网站
  • 网站模板案例wordpress foxplayer
  • 一个网站建设的目标狗和人做网站
  • 企业北京响应式网站制作文山网站开发
  • 盐城集团网站建设网站建设公司怎么开
  • 电子商务网站设计是什么宣传片拍摄技巧
  • 西安建设公司网站月夜直播下载
  • 广西住房城乡建设厅网站首页自己网上开店的步骤
  • 建设网站前的市场分析怎么写开发比较实用的软件
  • 网站样式做网站怎么申请域名
  • 蚌埠网站制作公司费用免费二维码生成工具
  • wordpress站群源码wordpress上传后设置