ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

875. 爱吃香蕉的珂珂

2022-06-07 13:03:10  阅读:118  来源: 互联网

标签:香蕉 right piles int 875 mid pile left


/**

  • @author: 施龙青

  • @description 875. 爱吃香蕉的珂珂

  • @date: 2022/6/7 1:24
    */
    public class Main001 {
    //测试
    public static void main(String[] args) {
    Main001 main001 = new Main001();
    int[] a = new int[]{30, 11, 23, 4, 20};
    System.out.println(main001.minEatingSpeed(a, 5));
    }

    public int minEatingSpeed(int[] piles, int h) {
    int len = piles.length;

     //二分的是速度,从1开始,到最大香蕉数
     int left = 1;
     int right = -1;
     for (int pile : piles) {
         if (right < pile) {
             right = pile;
         }
     }
     while (left < right) {
         int mid = (right - left) / 2 + left;
         if (calculateSum(piles, mid) > h) {
             left = mid + 1;
         } else {
             right = mid;
         }
     }
     return left;
    

    }

    int calculateSum(int[] piles, int speed) {
    int sum = 0;

     for (int pile : piles) {
         //向上取整
         sum += (pile + speed - 1) / speed;
     }
     return sum;
    

    }
    }

标签:香蕉,right,piles,int,875,mid,pile,left
来源: https://www.cnblogs.com/weixing-a2053699418/p/16351357.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有