二分法解经典题目:切木头
题目
给出不同长度的木头[232,114,258],从中切出K段长度相同木头,所切的木头要为能切取的最长长度。返回切取木头的长度。
- 示例1
[232,114,258] K=1
输出:258 - 示例2
[232,114,258] K=5
输出:114
题解
public class WoodCut {public static void main(String[] args) {int[] L={232,124,456};int i = woodCut(L, 7);System.out.println(i);}public static int woodCut(int[] L,int K){int start = 1;int end = getMax(L);int mid;while(start+1<end){mid = start + (end - start)/2;int pieces = getPieces(L,mid);if(pieces>=K){start = mid;}else{end = mid;}}if(getPieces(L,start)>=K){return start;}if(getPieces(L,end)>=K){return end;}return 0;}private static int getPieces(int[] L, int mid) {int pieces = 0;for (int value : L) {pieces += value / mid;}return pieces;}private static int getMax(int[] L) {int max = L[0];for(int i=0;i<L.length;i++){if(max<L[i]){max = L[i];}}return max;}
}
二分法解经典题目:切木头相关推荐
- c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解
C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...
- LeetCode:数组刷题(17道经典题目)
LeetCode 数组刷题(17道经典题目) 本文带来的是以数组为主题的经典题目,主要实现是C++,部分题目也用Python实现了. 704. 二分查找 35.搜索插入位置 34. 在排序数组中查找元 ...
- 面经——嵌入式软件工程师面试遇到的经典题目
参考:嵌入式软件工程师面试遇到的经典题目 作者:一只青木呀 发布时间: 2020-11-04 23:43:16 网址:https://blog.csdn.net/weixin_45309916/art ...
- 奥数 python_奥数赛事china夺得冠军!简单思路用Python解经典数学题
2019年第60届国际数学奥林匹克竞赛(IMO)结果出炉,奥数大赛中国夺冠 ,中美两国同时以227的总分并列团体冠军.中国队王者归来!6名队员全部摘金,总成绩荣获世界第一! 不要错过 免费学习Pyth ...
- 动态规划经典题目_动态规划经典题目:鸡蛋掉落(附视频讲解)
题目: 思路: 先放上视频讲解 动态规划经典题目:鸡蛋掉落https://www.zhihu.com/video/1225199247848513536 纠正:视频里的状态转移方程漏写了一个+1,意思 ...
- 二分法解具有单调性的方程
解方程的手段有很多,如二分法.牛顿迭代法等等,本次介绍的是采用二分法,在使用二分法解方程时,有一点应该特别注意,就是那种"具有单调性"的函数才可以,否则是会有问题的 ** HDU ...
- 分治法的思想与经典题目
目录 分治法简介 分治法主定理 分治算法的时间复杂度 分治法的基本步骤 分治法的使用条件 分治法的经典题目 50. Pow(x, n) 53. 最大子序和 169. 多数元素 分治法简介 分治法,即& ...
- 【折半搜索-经典题目】中山纪念中学暑期游Day13——【GDOI2017模拟8.15】Buy
前言 考试时有道题目用到了[折半搜索] 老师推荐了这道经典题目让大家练习[前后部分算法不同]的题目 虽然不知道我有没有时间做,好歹先把题目记录一下,免得以后找不到了qwq 题目 Input Outpu ...
- 算法提高:贪心策略的11个经典题目
目录 字典序最小 零钱问题 股票问题(最多持有一支,可以买卖无限次) 小船过河 任务调度器 摆动序列 最小区间 跳跃游戏 II 分糖果 通配符匹配 拼接最大数 字典序最小 题目 给定一个由字符串组成的 ...
- Leetcode回溯算法经典题目总结
回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就 "回溯" 返回,尝试别的路径.回溯法是一种选优搜索法,按选优条件向前搜索 ...
最新文章
- IBM用量子计算机成功模拟分子,登上《自然》封面
- 【CV夏季划】2021年有三AI-CV夏季划出炉,冲刺秋招,从CV基础到模型优化彻底掌握...
- java中将对象转为基本数据类型
- apache密码生成工具htpasswd使用详解
- 【并查集】【最小生成树】【贪心】给水(jzoj 2015)
- 为Ubuntu Server 安装图形桌面环境
- 利用回溯法解决1-9之间添加+或-或使得运算结果为100的问题
- 国土空间规划项目资料获取的途径
- (转)ORACLE之常用FAQ V1.08
- OpenCv平滑与模糊
- cadence 常见pcb电阻_不加端接电阻的快乐,你们绝对想象不到!
- 电子工程师 嵌入式开发者的嘉年华最强攻略
- android fragment 抽屉,android – Actionbar和Navigation抽屉 – 使用Activity / Fragment滑动Actionbar...
- poi获取单元格颜色
- 随手记_英语_学术写作_常用近义词区分
- 【GANs】Wasserstein GAN
- 《SysML精粹》学习记录--第一章
- EditPlus下载安装及使用
- NOI.5.37雇佣兵
- D-OJ刷题日记:直接插入排序验证性实验 题目编号:584