书籍复印-LintCode
来源:互联网 发布:windows to go u盘价格 编辑:程序博客网 时间:2024/04/30 02:49
给出一个数组A包含n个元素,表示n本书以及各自的页数。现在有个k个人复印书籍,每个人只能复印连续一段编号的书,比如A[1],A[2]由第一个人复印,但是不能A[1],A[3]由第一个人复印,求最少需要的时间复印所有书。
样例:
A = [3,2,4],k = 2
#ifndef C437_H#define C437_H#include<iostream>#include<vector>using namespace std;class Solution {public: /* * @param pages: an array of integers * @param k: An integer * @return: an integer */ int copyBooks(vector<int> &pages, int k) { // write your code here if (pages.empty() || k <= 0) return 0; int len = pages.size(); int min = 0; int max = 0; for (auto c : pages) { if (c > min) min = c; max += c; } while (min < max) { int mid = (min + max) / 2; if (isValid(pages, mid, k)) max = mid; else min = mid + 1; } return min; } bool isValid(vector<int> &pages, int mid, int k) { int num = 0; int sum = 0; int i = 0; int len = pages.size(); while (i < len) { if (sum + pages[i] <= mid) sum += pages[i++]; else if (pages[i] <= mid) { num++; sum = 0; } else return false; } if (sum != 0) num++; return num <= k; }};#endif
阅读全文
0 0
- lintcode(437)书籍复印
- 书籍复印-LintCode
- LINTCODE——书籍复印
- 书籍复印
- 书籍复印
- Arithmetic problem | 书籍复印
- 我以下GPU方面书籍,如果你对于GPU感兴趣的,或者需要如下书的英文复印本的请和我联系
- 20040926复印试卷
- 复印全白是何原因呢?
- 简历复印--原型模式
- 复印curl学习记录
- 打印复印操作小结
- LintCode
- lintcode--
- lintcode
- LintCode
- Lintcode
- 书籍
- 在HTML页面中如何实现多个文件同时下载
- 学习Vue.js 基础第一节
- jquery增加,移除,修改一个html标签的class类名
- mysql别名的使用
- 动态规划(8)
- 书籍复印-LintCode
- SpringMVC与Struts2区别与比较总结
- thinkphp5.0学习(三):配置相关
- 系统日志
- python学习(五)——可视化
- Math.ceil、Math.floor、Math.round用法
- 动态规划(9)
- unity简单人物控制
- bootstrap前端框架使用modal弹出框form表单submit操作后解决页面提示不显示