lintcode:Wood Cut
来源:互联网 发布:生死狙击球棒数据变异 编辑:程序博客网 时间:2024/04/28 00:52
Given n pieces of wood with length L[i] (integer array). Cut them into
small pieces to guarantee you could have equal or more than k pieces
with the same length. What is the longest length you can get from the
n pieces of wood? Given L & k, return the maximum length of the small
pieces.Example For L=[232, 124, 456], k=7, return 114.
Note You couldn’t cut wood into float length.
Challenge O(n log Len), where Len is the longest length of the wood.
这题不简单,思路比较新奇。
思路:划分的最大段的长度在1和L[i]中最大的之间。可以用二分查找来寻找最大的划分长度。
class Solution {public: /** *@param L: Given n pieces of wood with length L[i] *@param k: An integer *return: The maximum length of the small pieces. */ int numCut(vector<int> L,int l){ int num=0; for(int i=0;i<L.size();i++){ num+=L[i]/l; } return num; } int woodCut(vector<int> L, int k) { // write your code here int res=0; int max_L=0; for(int i=0;i<L.size();i++){ if(L[i]>max_L){ max_L=L[i]; } } int left=1,right=max_L; while(left<=right){ int mid=left+(right-left)/2; int num=numCut(L,mid); if(num<k){ right=mid-1; }else{ res=mid;///!!! left=mid+1; } } return res; }};
1 0
- lintcode:Wood Cut
- [LintCode]Wood Cut
- lintcode之Wood-Cut问题
- LintCode Wood Cut java solution
- wood cut
- wood-cut
- Wood Cut
- Wood Cut
- Binary Search---Wood Cut
- #183 Wood Cut
- 二分查找——Wood Cut
- 02分治算法-03wood-cut
- wood
- 183.Wood Cut-木材加工(中等题)
- Slice Wood
- cut
- cut
- cut
- java网络编程(二)复用Socket连接以及使用多线程完成多个客户端的连接
- 5、登录界面布局文件详解
- Aspose Word 导入
- Random类
- eclipse插件项目中的后缀名为.exsd文件的作用
- lintcode:Wood Cut
- 使用UICollectionView 重写UICollectionViewLayout实现瀑布流
- C++索引运算符【】和输出运算符<<重载
- 堆的最大申请数量——我能malloc多少?
- 6、通用类Utils的常用函数
- android之播放视频
- postgresql to_char数字转换
- UART中的硬件流控RTS与CTS
- poj 2965 The Pilots Brothers' refrigerator【枚举】