实际二分搜索(写出函数,再用二分搜索法找左右边界 画图理解

实际二分搜索(写出函数,再用二分搜索法找左右边界

看到最大值的最小化,左边界,最小化的最大值,右边界

画图理解

爱吃香蕉的珂珂

class Solution {public int minEatingSpeed(int[] piles, int h) {int left=1,right=1000000000;while(left<=right){int mid=(left+right)/2;long hour=f(mid,piles);if(hour>h){left=mid+1;}else if(hour<=h){right=mid-1;}}return left;}long f(int x,int[] piles){long hour=0;for(int i=0;i<piles.length;i++){hour+=(piles[i]+x-1)/x;//向上取整方法}return hour;}
}

运货要通过数组的货物进行left和right的初始化

Left为数组最大值,right为总和,还要注意函数如何些,装货的逻辑

class Solution {public int shipWithinDays(int[] weights, int days) {int left=0,right=0;for(int x:weights){//初始化左右,left为数组最大值,right为数组总和if(x>left){left=x;}right+=x;}while(left<=right){int mid=(left+right)/2;long daysNeed=f(mid,weights);if(daysNeed>days){left=mid+1;}else{right=mid-1;}}return left;}long f(int x,int[] weights){long daysNeed=0;for(int i=0;i<weights.length;){int cap=x;//一次能装多少while(i<weights.length){//装货if(cap<weights[i]) break;else cap-=weights[i];i++;}//装满一次daysNeed++;}return daysNeed;}
}

class Solution {public int splitArray(int[] nums, int k) {int left=0,right=0;for(int x:nums){if(x>left) left=x;right+=x;}while(left<=right){int mid=(left+right)/2;int count=f(mid,nums);if(count<=k){right=mid-1;}else{left=mid+1;}}return left;}int f(int x,int[] nums){int count=0;for(int i=0;i<nums.length;){int cap=x;while(i<nums.length){if(cap<nums[i]) break;else{cap-=nums[i];i++;}}count++;}return count;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql 8.3.0 安装

Mysql 8.3.0 安装地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 下载链接&#xff1a;https://downloads.mysql.com/archives/get/p/23/file/mysql-8.3.0-linux-glibc2.28-x86_64.tar.xz 解压&#xff1a; tar -xvf mysql-8.3.0-linux-glib…

sql资料库

1、distinct(关键词distinct用于返回唯一不同的值)&#xff1a;查询结果中去除重复行的关键字 select distinct(university) from user_profile select distinct university from user_profile distinct是紧跟在select后面的&#xff0c;不能在其他位置&#xff0c;不然就…

【Linux】I/O多路复用模型 select、poll、epoll

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;Linux系列专栏&#xff1a;Linux基础 &#x1f525; 给大家…

多模块存储器

随着计算机技术的发展&#xff0c;处理的信息量越来越多&#xff0c;对存储器的速度和容量要求也越来越高&#xff1b;而且随着CPU性能的不断提高、IO设备数量不断增加&#xff0c;导致主存的存取速度已经称为了整个计算机系统的性能瓶颈。这就要求我们必须提高主存的访问速度。…

令人震撼的人类智慧的科学领域-AI技术

AI&#xff0c;全称为人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;是一门致力于让机器模仿人类智慧的科学领域。其核心技术涵盖了机器学习、自然语言处理、计算机视觉及专家系统等多个方面。AI旨在开发能够感知环境、进行逻辑推理、自主学习并做出决策…

【VMware】VMware虚拟机安装_配置_使用教程

一、准备工作 1、下载VMware软件&#xff1a;访问VMware官方网站&#xff0c;下载适合你操作系统的VMware Workstation Pro安装包。 下载地址&#xff1a;VMware Desktop Hypervisors for Windows, Linux, and Mac 2、准备操作系统镜像文件&#xff1a;根据你想要在虚拟机中安…

红黑树(数据结构篇)

数据结构之红黑树 红黑树(RB-tree) 概念&#xff1a; 红黑树是AVL树的变种&#xff0c;它是每一个节点或者着成红色&#xff0c;或者着成黑色的一棵二叉查找树。对红黑树的操作在最坏情形下花费O(logN)时间&#xff0c;它的插入操作使用的是非递归形式实现红黑树的高度最多是…

thread model线程模型

Concurrency并发 vs. Parallelism执行 Many-to-One GNU Portable Threads 多对一即多个用户线程映射到单个内核线程 该模式用的少 一个线程阻塞会导致所有线程阻塞 多线程可能无法在多核系统上并行运行&#xff0c;因为同一时间内核中可能只有一个线程 Concurrent executio…

探索FlowUs息流:个人和团队知识管理解决方案|FlowUs稳定保障你的笔记安全无忧

FlowUs息流&#xff1a;稳定运营保障你的笔记安全无忧 在知识管理工具的选择上&#xff0c;稳定性是用户最关心的问题之一。FlowUs息流以其稳定的运营记录&#xff0c;为用户提供了一个可靠的工作环境。我们深知&#xff0c;一个知识管理平台的稳定性直接影响到团队的生产力和…

3ds MAX 2024版资源包下载分享 3ds Max三维建模软件资源包下载安装

3DSMAX凭借其强大的功能和广泛的应用领域&#xff0c;吸引了无数创作者的青睐。 在游戏制作领域&#xff0c;3DSMAX展现出了无可比拟的优势。从细腻的角色建模到宏大的场景搭建&#xff0c;再到逼真的动画效果和渲染&#xff0c;它都能轻松应对&#xff0c;为游戏世界注入了生动…

“开放”的大模型到底有多“开放”?!

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则…

java面向对象(上)

一.面向对象与面向过程 1.面向过程 面向过程(procedure Oriented Programming),简称POP,主要思想就是将问题分解成一个个步骤去解决,把这个步骤称为函数. 典型语言:C语言 优点:可以大大简化代码 缺点:当代码量过大时,不方便维护 2.面向对象 面向对象(Object Oriented Pr…

Harbor 源码编译arm版本镜像

1. 先准备一个国外的arm服务器&#xff0c;&#xff08;使用国内的也行&#xff0c;只是有时候下载依赖会断&#xff0c;需要科学上网&#xff09; 2. git clone harbor的源码包&#xff0c;切换到要编译的分支 3. 修改harbor/Makefile Makefile里面的这些字段设置为true&…

四川财谷通信息技术抖音小店信誉之选,购物新体验

在当今数字化浪潮的推动下&#xff0c;电商平台的兴起为人们的生活带来了极大的便利。而在众多电商平台中&#xff0c;抖音小店以其独特的社交属性和便捷的购物体验&#xff0c;逐渐赢得了消费者的青睐。四川财谷通信息技术有限公司旗下的抖音小店&#xff0c;更是凭借其可靠的…

记录SpringBoot启动报错解决

记录SpringBoot启动报错解决 报错现场 Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following:If you want an embedde…

33.获取入口点

上一个内容&#xff1a;32.双击列表启动目标游戏 前置知识 25.入口点注入&#xff08;查看pe头&#xff09;、32.双击列表启动目标游戏 以它的代码为基础进行修改 效果图&#xff1a; 代码实现&#xff1a;原理通过读文件流的方式把文件加载到内存中然后解析pe结构 void CWnd…

uniapp 实人认证

首先Dcloud创建云服务空间&#xff0c;开启一键登录并充值 下一步 1. 右键项目 》 创建uniCloud云开发环境 》右键uniCloud》关联云服务空间 2. cloudfunctions右键 新建云函数&#xff0c;任意命名&#xff08;例&#xff1a;veify&#xff09;&#xff0c;然后右键项目》管…

Python 基础:异常

目录 一、异常概念二、处理异常2.1 抛出异常2.2 使用 try-except 代码块2.3 使用 try-except-else 代码块2.4 静默失败 三、总结 遇到看不明白的地方&#xff0c;欢迎在评论中留言呐&#xff0c;一起讨论&#xff0c;一起进步&#xff01; 本文参考&#xff1a;《Python编程&a…

Vite文件目录结构介绍

我们通过命令create-vite shop-admin基于Vite创建vue3项目后&#xff0c;其默认的文件目录结构如下&#xff1a; shop-admin ├─ index.html ├─ package-lock.json ├─ package.json ├─ public │ └─ vite.svg ├─ src │ ├─ App.vue │ ├─ assets │ │ └…

C++多重继承,虚基类与友元

一.多重继承 就是一个类继承多个基类&#xff1b; class <派生类名>&#xff1a;<派生方式1><基类名1>,<派生方式n><基类名n> class Derived:public:Base1,public:Base2 上述形式&#xff1a;基类之间由逗号隔开&#xff0c;且必须指明继承方式…