速度越大肯定在规定的时间之内一定会吃完全部的香蕉,但也是可以确定出一个上界的。由于只要保证一小时之内,可以吃完香蕉数目最多的那一堆的香蕉,那么其他数目更小的香蕉在1小时之内肯定都是可以吃完的,那么 k 的最大值就是数组的最大值。
k 肯定不为 0,又是整数,确定其最小值为 1.
k ∈ [1, max_pile]
采用二分查找进行寻找 k 的最小值。
三、代码
classSolution{publicintminEatingSpeed(int[] piles,int h){int n = piles.length;// 确定 k 的搜索范围int l =1, r =0;for(int pile : piles){// 找到香蕉数量最多的为 k 的最大值
r =Math.max(r, pile);}// 范围内进行二分查找while(l <= r){int mid = l +(r - l)/2;if(check(piles, h, mid)){// 检查当前速度 k 是否能够在规定时间 h 内将全部香蕉吃完
r = mid -1;// 能吃完说明当前 k 较大,收缩右边界}else{
l = mid +1;// 不能吃完说明当前 k 较小,收缩左边界}}return l;}publicbooleancheck(int[] piles,int h,int mid){int sum = piles.length;for(int pile : piles){
sum +=(pile -1)/ mid;if(sum > h){returnfalse;}}returntrue;}}
ui文件拖放QGraphicsView,src文件定义QGraphicsScene赋值给图形视图。 this->scene new QGraphicsScene();ui.graph->setScene(this->scene);对graphicview过滤事件,只能在其viewport之后安装,否则不响应。
ui.graph->viewport…
1.SpringMVC请求流程
1.1 SpringMVC请求处理流程分析
Spring MVC框架也是⼀个基于请求驱动的Web框架,并且使⽤了前端控制器模式(是⽤来提供⼀个集中的请求处理机制,所有的请求都将由⼀个单⼀的处理程序处理来进⾏设计,再根据请求…
这篇文章主要介绍的是数据库的增删改查操作,无多余好说的。 from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import text
from flask_migrate import Migrateapp Flask(__name__)# 本地基础信息的主机名
HOSTNAME "127.0…