Leetcode 455 分发饼干

题意理解

        小孩的饭量: [1,2,7,10]

        饼的大小:     [1,3,5,7]

        当饼的大小>=小孩饭量时,小孩就能够吃饱。

        求如何分配饼让更多的小孩子能够吃饱。

解题思路

        两种思路:

        先把胃口小的孩子用较小的饼来喂饱——保证更多的小孩能吃饱

        先把大饼为给胃口较大且能吃饱的孩子——保证更多的小孩能吃饱

        局部最优——每个饼,给刚好能吃饱又不会剩太多的孩子——【全局最优】更多小孩能吃饱

1.贪心解题

小饼给小孩

   public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int result=0;int g_index=0;//小饼给小孩-遍历饼for(int i=0;i<s.length;i++){while(g_index<g.length&&g[g_index]<=s[i]){result++;g_index++;break;}}return result;}

大饼给大孩

public int findContentChildren2(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int result=0;int s_index=s.length-1;//大饼给大孩-遍历孩for(int i=g.length-1;i>=0;i--){if(s_index>=0&&g[i]<=s[s_index]){result++;s_index--;}}return result;}

2.分析

时间复杂度:O(m+n+log(m)+log(n))

空间复杂度:O(log(m)+log(n))

排序的时间复杂度:O(log(n))

遍历的时间复杂度:O(n)

排序的额外空间开销:O(log(n))

两个数组的长度分别为m,n

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

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

相关文章

基于JavaWeb+SSM+Vue微信小程序的移动学习平台系统的设计和实现

基于JavaWebSSMVue微信小程序的移动学习平台系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 2 第2章 开发环…

深度学习环境配置

一、Anaconda安装 下载&#xff1a;从清华大学开源软件镜像下载 镜像网址 出现base即为安装成功&#xff1a; 检查显卡的驱动是否正确安装&#xff1a; &#xff08;GPU可以显示出名称&#xff09; GPU0是集显集成显卡是主板自带的显卡。 GPU1是独显即独立显卡&#xff0c…

计算机网络:物理层(三种数据交换方式)

今天又学到一个知识&#xff0c;加油&#xff01; 目录 前言 一、电路交换 二、报文交换 三、分组交换 1、数据报方式 2、虚电路方式 3、比较 总结 前言 为什么要进行数据交换&#xff1f; 一、电路交换 电路交换原理&#xff1a;在数据传输期间&#xff0c;源结点与…

PR模板,漂亮的文字帖子视频模板,方形标题PR项目工程文件下载

Premiere Pro模板&#xff0c;具有6个方形设计PR视频帖子标题文字PR项目工程文件。使用附带的颜色控制器调整和修改颜色&#xff0c;与您自己的品牌相匹配。使用这些效果来增强视频画面。包括视频教程。 适用软件&#xff1a;PR2019 | 分辨率&#xff1a;10801080&#xff08;方…

php入门、安装wampserver教程

php声称是全世界最好的语言&#xff0c;今天这篇文章就带大家入门学习php&#xff0c;php和python、javasript一样&#xff0c;是一种弱类型的脚本语言。 一、php开发环境搭建 作为初学者&#xff0c;学习php建议安装wampserver&#xff0c;wampserver是包含了apache、php和mys…

用实例域代替序数

在Java中&#xff0c;枚举类型的ordinal()方法返回枚举常量的序数&#xff08;即其在枚举声明中的位置&#xff09;。在某些情况下&#xff0c;使用实例域&#xff08;instance field&#xff09;代替序数可能更加安全和易读。以下是一个示例&#xff0c;演示如何使用实例域代替…

【隐私计算】tf-encrypted隐私计算框架/库基础

tf-encrypted介绍 TF Encrypted是TensorFlow中一个用于加密机器学习的框架&#xff0c;它看起来和感觉上都很像TensorFlow&#xff0c;利用了Keras API 的易用性&#xff0c;同时通过安全多方计算和同态加密实现了对加密数据的训练和预测。TF Encrypted的目标是使保护隐私的机器…

MySQL DQL

目录 一、DQL概述 二、基础查询 三、条件查询 四、聚合查询 五、分组查询 六、排序查询 七、分页查询 八、其它测试 九、执行顺序 一、DQL概述 DQL英文全称是Data Query Language(数据查询语言)&#xff0c;数据查询语言&#xff0c;用来查询数据库中表的记录。查询关…

10. 从零用Rust编写正反向代理, HTTP内网穿透支持修改头信息

wmproxy wmproxy是由Rust编写&#xff0c;已实现http/https代理&#xff0c;socks5代理&#xff0c; 反向代理&#xff0c;静态文件服务器&#xff0c;内网穿透&#xff0c;配置热更新等&#xff0c; 后续将实现websocket代理等&#xff0c;同时会将实现过程分享出来&#xff…

Linux 常用命令----mktemp 命令

文章目录 基本用法实例演示高级用法注意事项 mktemp 命令用于创建一个临时文件或目录&#xff0c;这在需要处理临时数据或进行安全性测试时非常有用。使用 mktemp 可以保证文件名的唯一性&#xff0c;避免因文件名冲突而导致的问题。 基本用法 创建临时文件: 命令 mktemp 默认…

微软microsoft推出了最新的小型但强大的开源语言AI模型Phi-2

微软推出了最新的小型开源语言模型 Phi-2。该模型只有 27 亿个参数&#xff0c;却能超过比它大 25 倍的模型的性能。Phi-2 是微软 Phi 项目的一部分&#xff0c;旨在制作小而强大的语言模型。该项目包括 13 亿参数的 Phi-1&#xff0c;据称在 Python 编码方面实现了最先进的性能…

Linux(22):X Window 设定介绍

X Window System X Window System 是个非常大的架构&#xff0c;他还用到网络功能。也就是说&#xff0c;其实 X 窗口系统是能够跨网络与跨操作系统平台的。 X Window系统最早是由 MIT (Massachusetts Institute of Technology&#xff0c;麻省理工学院) 在1984年发展出来的&…