代码随香录day31

news2024/11/16 7:46:53

今天开始贪心算法了!

贪心的本质是选择每一阶段的局部最优,从而达到全局最优

贪心算法一般分为如下四步:

  • 将问题分解为若干个子问题
  • 找出适合的贪心策略
  • 求解每一个子问题的最优解
  • 将局部最优解堆叠成全局最优解

455. 分发饼干

这里的思路就是用尺寸最大的蛋糕 优先满足胃口最大的孩子 为了避免尺寸浪费。所以这里分别对孩子数组和饼干数组进行排序,然后倒序遍历 

以for循环去遍历孩子数组,index代表饼干数组最大尺寸的饼干,如果当前s[index] >=g[i]的话,那么饼干数组就继续往前走,并且孩子数组也在往前遍历。

代码:

         

def findContentChildren(self, g: List[int], s: List[int]) -> int:
        g.sort()  # 将孩子的贪心因子排序
        s.sort()  # 将饼干的尺寸排序
        index = len(s) - 1  # 饼干数组的下标,从最后一个饼干开始
        result = 0  # 满足孩子的数量
        for i in range(len(g)-1, -1, -1):  # 遍历胃口,从最后一个孩子开始
            if index >= 0 and s[index] >= g[i]:  # 遍历饼干
                result += 1
                index -= 1
        return result

376. 摆动序列

 

思路:这道题啊 不太会 

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

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

相关文章

openEuler?搭建java开发环境的详细过程

目录 1. 初始化环境2. 安装jdk83. 安装SVN4. 安装Git5. 安装Node.js6. 下载并激活IntelliJ IDEA7. 下载并激活Navicat 本文操作系统及版本号:↓ openEuler release 22.03 LTS Linux version 5.10.0-60.35.0.64.oe2203.x86 _64 1. 初始化环境 ? 1 2 3 4 # 1. 更新…

Spring事务的传播机制与隔离级别

目录 前言事务的隔离级别事务特性Spring 中设置事务隔离级别MySQL的隔离级别Spring中的隔离级别 Spring的传播机制事务传播机制是什么?为什么需要事务传播机制?事务传播机制有哪些? 事务的隔离级别 与 传播机制 解决的问题 前言 无论对于那个…

2020年全国硕士研究生入学统一考试管理类专业学位联考写作试题——解析版

四、写作第56~57小题,共65分。其中论证有效性分析30分,论说文35分。 56. 论证有效性分析:分析下述论证中存在的缺陷和漏洞,选择若干要点,写一篇600字左右的文章,对该论证的有效性进行分析和评论。( 论证有…

自动装配再次理解

随便点进去一个自动装配类,也就是spring.factories 文件下的一个全限定名指定的一个配置类 里面有个内部类 Encoding 类 这个注解是绑定了yaml文件,通过前缀可以往里面赋值,来实现自定义配置Springboot 了解完自动装配的原理后,我…

<C语言> 预处理和宏

1.预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义这些预定义符号都是C语言内置的。 举个例子&…

如何高效维护电脑

电脑维护技巧:让你的电脑始终高效稳定 电脑维护技巧:让你的电脑始终高效稳定引言方向一:介绍你的电脑方向二:介绍一下你的日常维护措施方向三:给出一些你觉得有用的维护技巧方向四:其他你想补充的方向五&am…

苍穹外卖学习心得与总结【对比瑞吉】【如何获得铁粉】

对于苍穹外卖项目,从学习课程加复习已经13天了。 对于一名已经学习过SSMLinuxRedis数据库的Java练习生来说,这个项目相对于之前学习的《瑞吉外卖》新增了很多功能和技术,是很值得练手和提升的课程,下面给出自己的一些见解。&#…

【点云处理教程】02从 Python 中的深度图像估计点云

一、说明 这是“点云处理”教程的第二篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。在本教程中,我们将学习如何在不使用 Open3D 库的情况下从深度图像计算点云。我们还将展示如何优化代码以获…

调整数组顺序使奇数位于偶数前面——剑指 Offer 21

文章目录 题目描述法一 两次遍历法二 双指针一次遍历法三 原地交换 题目描述 法一 两次遍历 class Solution{ public:vectro<int> exchange(vector<int>& nums){vector<int> res;for(auto & num : nums){if(num%21){res.push_back(num);}}for(auto &…

Java常用API:StringBuilder、StringBuffer、StringJoiner

StringBuilder的几个常用的API StringBuilder s new StringBuilder("111");//111 //1.拼接内容 s.append(12); s.append("11"); s.append(true);//2.支持链式编程 s.append(12).append("11").append(true);//输出是1211true //3.反转操作 s.reve…

c++[左值+右值](25)

左值 对左值取别名 左值举例 int main() {//左值&#xff1a;可以取地址int a 10;const int b 20;int* p &a; //a&#xff0c;b&#xff0c;p均是左值*p 100; //*p也是左值return 0; }左值引用举例 int main() {//以下 p、b、c、*p都是…

《向量数据库指南》:向量数据库Pinecone如何集成Elasticsearch

目录 上传嵌入模型 上传数据集 创建嵌入 将Elasticsearch索引移动到Pinecone 概要 是一个强大的开源搜索引擎和分析平台,广泛用作基于关键字的文本搜索的文档存储。 Pinecone是一个广泛用于生产应用程序的向量数据库,例如语义搜索、推荐系统和威胁检测,需要在数亿甚…

【多模态】20、OVR-CNN | 使用 caption 来实现开放词汇目标检测

文章目录 一、背景二、方法2.1 学习 视觉-语义 空间2.2 学习开放词汇目标检测 三、效果 论文&#xff1a;Open-Vocabulary Object Detection Using Captions 代码&#xff1a;https://github.com/alirezazareian/ovr-cnn 出处&#xff1a;CVPR2021 Oral 一、背景 目标检测数…

关于rtthread的I/O设备模型

分层 从官方给的架构可以看出&#xff0c;官方是将IO设备的使用分成了三层。 IO设备管理层&#xff1a;也就是正常用户接触的一层&#xff0c;用户直接调用该层接口实现IO设备的操作。例如代码中的device.c文件 设备驱动框架层&#xff1a;这一层可以称为中间层了&#xff0c…

Spring之BeanDefinition(三)

Spring之BeanDefinition&#xff08;三&#xff09; 文章目录 Spring之BeanDefinition&#xff08;三&#xff09;一、Spring的启动类三行代码研究二、Spring创建工厂类型和属性三、Spring中内置的BeanDefinition四、注册配置类五、BeanDefinition总结 一、Spring的启动类三行代…

Few Shot Classification小知识——数据集的加载

概述 Few-shot classification&#xff08;小样本分类&#xff09;是机器学习和人工智能的一个子领域&#xff0c;解决的问题是在训练数据非常有限的情况下&#xff0c;学习对新样本进行分类。在传统的监督学习中&#xff0c;模型需要在包含大量标记样本的数据集上进行训练&am…

Linux安装wget

1.第一步登录wget官网下载地址&#xff0c;下载最新的wget的rpm安装包到本地 官网地址&#xff1a;http://mirrors.163.com/centos/7/os/x86_64/Packages/ 2.将下载好的wget的rpm安装包通过Xftp工具上传到Linux服务器对应目录下。 3.cd命令进入到这个wget目录下&#xff0c;再…

【文献分享】动态环境下竟然能实现实时语义RGB-D SLAM??

论文题目&#xff1a;Towards Real-time Semantic RGB-D SLAM in Dynamic Environments 中文题目&#xff1a;动态环境下实时语义RGB-D SLAM研究 作者&#xff1a;Tete Ji, Chen Wang, and Lihua Xie 作者机构&#xff1a;新加坡南洋理工大学电气与电子工程学院 卡内基梅隆大…

用于WINDOWS的HACKRF ONE扫频分析仪

https://github.com/pavsa/hackrf-spectrum-analyzer GitHub - mutability/rtl-sdr: RTL-SDR *very* experimental branch - its probably broken! https://github.com/greatscottgadgets/hackrf hackrf_sweep 用于WINDOWS的HACKRF ONE扫频分析仪 几个星期前&#xff0c;Ha…

Java动态代理(全网最详细,没有之一)

首先你要明白为什么要创建代理&#xff1f;&#xff1f;&#xff1f; 例如&#xff1a;我们看下面这张图我们发现&#xff0c;有很多重复的代码&#xff0c;我们就可以创建代理&#xff0c;让代理帮我们干这些事情。 1.想要创建代理&#xff0c;我们就要为这个类写一个接口 pu…