【LeetCode 刷题】贪心算法(1)-基础

embedded/2025/2/5 16:48:28/

此博客为《代码随想录》二叉树章节的学习笔记,主要内容为算法>贪心算法基础的相关题目解析。

文章目录

  • 455.分发饼干
  • 1005.K次取反后最大化的数组和
  • 860.柠檬水找零

455.分发饼干

题目链接

python">class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort()s.sort()i = 0for x in s:if i < len(g) and g[i] <= x:i += 1return i
  • 饼干和胃口数组都从小到大排序,最小的饼干应该给当前满足的胃口最小的孩子,如果不给则会浪费分发机会,无法取得最优解
  • 指针 i 标识当前满足到第 i 个孩子;完整遍历饼干列表,按照孩子胃口从小到达依次尝试去满足,最后直接返回 i 即为已经满足的孩子数量

1005.K次取反后最大化的数组和

题目链接

python">class Solution:def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:nums.sort()min_num, res = +inf, 0for num in nums:min_num = min(min_num, abs(num))if num < 0 and k > 0:res -= numk -= 1else:res += numif k and k % 2 != 0:return res - 2 * min_numelse:return res
  • 首先把负数从小到大仅可能反转为正数,如果反转所有负数后 k > 0,则后序反转只针对最小的元素
  • 在遍历过程中反转负数同时记录最小元素,如果遍历结束后 k > 0k 为奇数,则把最小的元素反转,反之则直接返回答案

860.柠檬水找零

题目链接

python">class Solution:def lemonadeChange(self, bills: List[int]) -> bool:five = ten = 0for b in bills:if b == 5:five += 1elif b == 10:five -= 1ten += 1else:if ten:ten -= 1five -= 1else:five -= 3if five < 0:return Falsereturn True
  • 分类讨论,贪心准则为优先使用十元找零,之后再使用五元

http://www.ppmy.cn/embedded/159800.html

相关文章

第九篇:NoSQL 数据库与大数据

第九篇&#xff1a;NoSQL 数据库与大数据 目标读者&#xff1a; 本篇文章适合那些希望学习 NoSQL&#xff08;非关系型数据库&#xff09;和大数据处理技术的学习者。如果你对传统的关系型数据库&#xff08;如 MySQL、PostgreSQL&#xff09;有一定了解&#xff0c;并希望扩…

5分钟掌握React的Redux Toolkit + Redux

Redux Toolkit Redux 教程 1. 引言 本教程介绍如何使用 Redux Toolkit&#xff08;RTK&#xff09; 和 TypeScript 搭建 Redux 状态管理系统。 我们将创建一个 计数器&#xff08;Counter&#xff09; 和 待办事项&#xff08;Todo&#xff09; 模块&#xff0c;并学习 Redu…

Java项目: 基于SpringBoot+mybatis+maven+mysql实现的疫苗发布和接种预约管理系统(含源码+数据库+开题报告+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismavenmysql疫苗发布和接种预约管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、…

第四章:玄丹-React商品管理实战

https://ant-design.antgroup.com/components/table-cn 在这里找到我们的 Table 表格,来完成我们的商品功能实战,下面我们会学到 表格类组件的渲染表格函数组件的渲染图片上传组件弹窗组件按钮组件axios 工具的封装分页功能的实现商品管理基础表格 import React from react;…

一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI

一、GenBI AI 代理介绍&#xff08;文末提供下载&#xff09; github地址&#xff1a;https://github.com/Canner/WrenAI 本文信息图片均来源于github作者主页 在 Wren AI&#xff0c;我们的使命是通过生成式商业智能 &#xff08;GenBI&#xff09; 使组织能够无缝访问数据&…

C++继承的基本意义

文章目录 一、继承的本质和原理二、重载、隐藏和覆盖三、基类与派生类的转换 一、继承的本质和原理 继承的本质&#xff1a;a. 代码的复用 b. 类和类之间的关系&#xff1a; 组合&#xff1a;a part of… 一部分的关系 继承&#xff1a;a kind of… 一种的关系 总结&#xff…

list的使用,及部分功能的模拟实现(C++)

目录&#xff08;文章中"节点"和"结点"是同一个意思&#xff09; 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list…

开源AI智能名片2+1链动模式S2B2C商城小程序:重塑私域流量运营格局

摘要&#xff1a;本文深入探讨互联网行业流量接纳方式从百度搜索到微信号营销的演变历程&#xff0c;详细剖析个人微信号作为私域流量核心载体的运营要点。同时&#xff0c;全面引入开源AI智能名片2 1链动模式S2B2C商城小程序这一创新工具&#xff0c;深入研究其功能特性、创新…