【算法与数据结构】455、LeetCode分发饼干

news/2025/2/11 20:11:47/

文章目录

  • 一、题目
  • 二、解法
  • 三、完整代码

所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。

一、题目

在这里插入图片描述

二、解法

  思路分析:因为大饼干可以满足大胃口的孩子也必然可以满足小胃口的孩子,如果要尽可能的满足孩子的胃口,那么大饼干就要用来满足大胃口的的孩子。因此先对孩子数组和饼干数组进行排序,然后比大小。这里注意遍历两个数组从数组末端(排序后的最大值)开始比较,遍历的是孩子数组。如果满足if语句那么则用掉一块饼干, index–;否则,不能满足孩子的胃口,则饼干用不掉。再一个sort函数需要algorithm头文件。
  程序如下

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int index = s.size() - 1;	// 饼干的索引int result = 0;for (int i = g.size() - 1; i >= 0; i--) {	// i 代表孩子胃口的索引if (index >= 0 && s[index] >= g[i]) {index--;	// 用掉一块饼干result++;	// 满足了一位孩子}}return result;}
};

复杂度分析:

  • 时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)
  • 空间复杂度: O ( 1 ) O(1) O(1)

三、完整代码

# include <iostream>
# include <vector>
# include <algorithm>
using namespace std;class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int index = s.size() - 1;	// 饼干的索引int result = 0;for (int i = g.size() - 1; i >= 0; i--) {	// i 代表孩子胃口的索引if (index >= 0 && s[index] >= g[i]) {index--;	// 用掉一块饼干result++;	// 满足了一位孩子}}return result;}
};int main() {vector<int> g = { 1, 2, 3 };	// 孩子的胃口vector<int> s = { 1, 1 };		// 饼干的大小Solution s1;int result = s1.findContentChildren(g, s);cout << result << endl;system("pause");return 0;
}

end


http://www.ppmy.cn/news/1268800.html

相关文章

mybatis与oracle数据库jdbcType类型对应关系

之前都是百度上搜的&#xff0c;各种对应的都有&#xff0c;总觉得有问题&#xff0c;最后直接通过跑代码查看了一下对应关系&#xff0c;我用的oracle是19c。 常见的对应关系如下 oracle类型jdbcTypeVARCHAR2JdbcType.VARCHARNVARCHARJdbcType.NVARCHARCHARJdbcType.CHARCLOB…

AV1编码技术分享:开启下一代视频编码时代

目录 导论 第一部分&#xff1a;AV1的背景与发展 1.1 视频编码的演进 1.2 AOMedia联盟的成立 第二部分&#xff1a;AV1编码技术的原理 2.1 AV1的压缩算法 2.2 自适应量化 2.3 多级运动矢量预测 2.4 色彩空间和位深度的提升 第三部分&#xff1a;AV1的特点与优势 3.1 …

SQL进阶理论篇(二):数据库的设计范式

文章目录 简介数据库的设计范式有哪些数据库中的几种键从1NF到3NF1NF2NF3NFBCNF&#xff08;巴斯范式&#xff09; 反范式设计反范式的适用场景总结参考文献 简介 本小节主要内容&#xff1a; 数据库的设计范式都有哪些数据库的键都有哪些1NF、2NF和3NF都是指什么&#xff1f…

word四级目录序号不随上级目录序号变化问题解决方法

一、word中的几个元素简介 1、word中的列表 如下图所示&#xff0c;代表word的列表&#xff1a; 2、word中的标题 如下图所示&#xff0c;代表word的标题&#xff1a; 3、word中的编号/序号 如下图所示&#xff0c;代表word的编号/序号&#xff1a; 4、word中的目录 如下图…

复旦微用AXIDMA接收原始图像

参考SD卡移植博客&#xff0c;&#xff0c;移植SD卡相应代码 AXIDMA部分Demo下的bsp包整个pl搬到相应位置&#xff0c;添加相应文件 #include <stdio.h> #include <stdlib.h> #include "platform.h" #include "fmsh_common.h" #include "…

07.Go 流程控制

流程控制是Go语言中必不可少的一部分&#xff0c;也是整个编程基础的重要一环。Go语言的流程控制语句和其他编程语言的流程控制语句有些不同&#xff0c;主要体现在Go语言没有do-while语句。Go语言常用的流程控制包括if语句、switch语句、for语句及goto语句等&#xff0c;switc…

Hasura GraphQL Engine 远程命令执行漏洞复现 [附POC]

文章目录 Hasura GraphQL Engine 远程命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议Hasura GraphQL Engine 远程命令执行漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技…

Java8新特性:函数式(Functional)接口

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…