day35| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

news2024/11/25 15:30:14

文章目录

  • 前言
  • 860.柠檬水找零
    • 思路
    • 方法一
  • 406.根据身高重建队列
    • 思路
    • 方法一
  • 452. 用最少数量的箭引爆气球
    • 思路
    • 方法一
  • 总结


前言

860.柠檬水找零

在这里插入图片描述

思路

很简单,贪心只有一个,如果20优先用10+5找零,因为5更加万能一些

方法一

class Solution(object):
    def lemonadeChange(self, bills):
        """
        :type bills: List[int]
        :rtype: bool
        """
        fives, tens = 0,0
        if fives:
            print("fives")
        for i in range(len(bills)):
            print(fives,tens)
            if bills[i] == 5:
                fives += 1
            elif bills[i] == 10:
                tens += 1
                if fives: fives -= 1
                else: return False
            elif bills[i] == 20:
                if fives and tens:
                    fives -= 1
                    tens -= 1
                elif fives >= 3:
                    fives -= 3
                else: return False
            else: 
                return False
        return True

406.根据身高重建队列

在这里插入图片描述

思路

注意思想:不能两者一起考虑,只能一个一个来
根据身高从大到小排序之后再去考虑数目的问题;【先k后h】

  • 本题的突破口在于,排序好之后只需要按照k来插入 因为每个人前面一定比他高,所以可以放心地根据k值来进行插入

方法一

注意点今天心态有点崩溃,太晚了就没有写了

  1. 需要重新定义一个que而不是直接在people里面插入,因为people会因为插入长度改变的,后面的索引会出错
  2. python中list插入有insert,插入位置 que.insert(p[1], p)
class Solution:
    def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
    	# 先按照h维度的身高顺序从高到低排序。确定第一个维度
        # lambda返回的是一个元组:当-x[0](维度h)相同时,再根据x[1](维度k)从小到大排序
        people.sort(key=lambda x: (-x[0], x[1]))
        que = []
	
	# 根据每个元素的第二个维度k,贪心算法,进行插入
        # people已经排序过了:同一高度时k值小的排前面。
        for p in people:
            que.insert(p[1], p)
        return que

452. 用最少数量的箭引爆气球

在这里插入图片描述
边界重合也是算可以一个箭射中两个

思路

首先需要能画出下面的图;依据左边界进行排序
两种情况讨论

  1. 如果i的左边界大于i-1的右边界,那么就不重叠,肯定需要result++;
  2. 如果i的左边界小于等于i-1的右边界,那就不需要加一,同时右边界换成min i和i-1 的小的值,这样下一个跟新的右边界比较
    在这里插入图片描述

在这里插入图片描述

方法一

自己写的注意点

  1. range从1开始,因为是和i-1比较,并且result默认初始值为1。这也好理解,如果两个气球没有交集,需要多射一次;
  2. 第二种我也给出了不改变原数组的写法;
  3. 排序还可以用这个写法 points.sort(key=lambda x: x[0])
class Solution(object):
    def findMinArrowShots(self, points):
        """
        :type points: List[List[int]]
        :rtype: int
        """
        result = 1
        points = sorted(points, key=lambda x: x[0], reverse=False)
        for i in range(1, len(points)):
            if points[i][0] > points[i-1][1]: result += 1
            else:
                points[i][1] = min(points[i][1],points[i-1][1])

        return result

class Solution: # 不改变原数组
    def findMinArrowShots(self, points: List[List[int]]) -> int:
        points.sort(key = lambda x: x[0])
        sl,sr = points[0][0],points[0][1]
        count = 1
        for i in points:
            if i[0]>sr:
                count+=1
                sl,sr = i[0],i[1]
            else:
                sl = max(sl,i[0])
                sr = min(sr,i[1])
        return count

总结

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

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

相关文章

RabbitMQ实践——配置Prometheus和Grafana报表

大纲 启用rabbitmq_prometheus插件安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动配置数据源 在《RabbitMQ实践——在Ubuntu上安装并启用管理后台》中我们已经安装成功RabbitMQ及其管理后台。在此基础上,我们将打通它和Prometheus、Gra…

26.0 Http协议

1. http协议简介 HTTP(Hypertext Transfer Protocol, 超文本传输协议): 是万维网(WWW: World Wide Web)中用于在服务器与客户端(通常是本地浏览器)之间传输超文本的协议.作为一个应用层的协议, HTTP以其简洁, 高效的特点, 在分布式超媒体信息系统中扮演着核心角色. 自1990年提…

Python图像处理——基于Pytorch框架ResNet152特征提取的MNIST手写数字识别

1. 数据集介绍 MNIST手写数字数据集: http://yann.lecun.com/exdb/mnist/ MNIST 数据集一共有 7 万张图片,其中 6 万张是训练集, 1 万张是测试集。每张图片是 28 28 的 0−9 的手写数字图片组成。每个图片是黑底白字的形式,黑底…

【全开源】餐饮点餐小程序源码(ThinkPHP+FastAdmin+Uniapp)

🍽️餐饮点餐小程序:让美食触手可及 一款基于ThinkPHPFastAdminUniapp开发的点餐小程序,支持单人点餐,还满足多人协同点餐(高级授权),支持多门店管理,并提供先吃后付和先付后吃两种支付方式。​ &#x1…

桌面应用开发框架比较:Electron、Flutter、Tauri、React Native 与 Qt

在当今快速发展的技术环境中,对跨平台桌面应用程序的需求正在不断激增。 开发人员面临着选择正确框架之挑战,以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。 在本文中,我们将比较五种流行的桌面应用程序开发框架&…

C#开源项目推荐:Watt Toolkit跨平台游戏工具箱支持github网络加速

Watt Toolkit是一个开源跨平台的多功能游戏工具箱,主要专注于增强玩家在Steam平台上的游戏体验及国外网站平台加速。 主要功能 兼容性 用户数据 团队背景 github加速功能 使用方法:用户只需在Watt Toolkit中启用网络加速功能,并选择对Gi…

揭秘Netflix背后的魔法:如何用三层架构打造个性化推荐帝国

推荐系统就像一家餐厅的菜单推荐 想象一下,你走进一家餐厅,面对琳琅满目的菜单,不知道点什么好。这时候,服务员给你推荐了几道菜,这些推荐是基于你以往的口味偏好和其他顾客的选择。Netflix的推荐系统也是类似的&…

Matlab图像处理——细胞图像的分割和计数显示

一. 项目介绍 使用MATLAB编写的细胞图像分割及计数系统,实现了对图像内细胞的计数,以及对每个细胞周长和面积的测量,并分别展示了分割后的每个细胞的图像。实验步骤共分为图像预处理、图像预分割、空洞填充、黏连细胞分割、细胞个数统计、细胞…

计算机毕业设计师hadoop+spark+hive知识图谱医生推荐系统 医生数据分析可视化大屏 医生爬虫 医疗可视化 医生大数据 机器学习 大数据毕业设计

流程: 1.Python爬虫采集中华健康网约10万医生数据,最终存入mysql数据库; 2.使用pandasnumpy/hadoopmapreduce对mysql中的医生数据进行数据分析,使用高德地图解析地理位置,并将结果转入.csv文件同时上传到hdfs文件系统&…

易天全面搭建ERP和MES系统:推进数字化转型的战略布局

在数字化浪潮的推动下,企业对于提高生产效率、优化资源配置、降低运营成本的需求日益迫切。ERP管理软件像一条纽带,将采购、生产、成本、库存、分销、运输、财务、人力资源进行规划,从而达到最佳资源组合,取得最佳效益。早在2019年…

MyBatis进行模糊查询时SQL语句拼接引起的异常问题

项目场景: CRM项目,本文遇到的问题是在实现根据页面表单中输入条件,在数据库中分页模糊查询数据,并在页面分页显示的功能时,出现的“诡异”bug。 开发环境如下: 操作系统:Windows11 Java&#…

vite构建的ts项目配置src别名@

一、安装types/node npm install types/node 二、vite.config.ts 文件中配置以下内容 resolve: {alias: {: path.resolve(__dirname, ./src),},}, 三、 tsconfig.json 文件中compilerOptions下配置以下内容 /* 配置 */"baseUrl": ".","paths":…

创新共享经济:探索Web3对新商业模式的启迪

随着Web3时代的到来,我们正在见证着一场数字经济的革命。在这个革命中,区块链技术作为一种基础设施,正为创新的共享经济模式提供新的契机。本文将深入探讨Web3对新商业模式的启迪,以及如何借助区块链技术构建更加开放、公平、高效…

8.使用包、crate和模块

目录 一、简单概念二、crate和包2.1 crate规则2.2 包规则2.3 Cargo的遵循的一些约定2.4 控制模块的作用域和私有性1) 模块2)引用模块树中的项3)使用 super 起始的相对路径4) 公有结构体和枚举 三、use关键字的使用四、分割模块进入不同的文件 一、简单概…

Vue27-内置指令04:v-once指令

一、需求 二、v-once指令 获取初始值: 三、小结

HCIA6以太网基础基于MAC划分VLAN

(简写的命令可以敲Tab按键补全剩余) 1.组网需求 场景:公司的网络中,管理者将同一部门的员工划分到VLAN10。要求只有本部门员工的PC接入才能互访,其他PC接入交换机属于其他VLAN(666)。可以配置…

STM32自己从零开始实操05:接口电路原理图

一、TTL 转 USB 驱动电路设计 1.1指路 延续使用芯片 CH340E 。 实物图 原理图与封装图 1.2数据手册重要信息提炼 1.2.1概述 CH340 是一个 USB 总线的转接芯片,实现 USB 与串口之间的相互转化。 1.2.2特点 支持常用的 MODEM 联络信号 RTS(请求发送&…

python实战根据excel的文件名称这一列的内容,找到电脑D盘的下所对应的文件位置,要求用程序实现

今天客户需要 根据excel的文件名称这一列的内容,找到电脑D盘的下所对应的文件位置,要求用程序实现 数据样例:记录.xlsx 解决代码: 1、安装必要的库: pip install pandas openpyxl2、编写Python脚本: im…

基于springboot实现高校专业实习管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现高校专业实习管理系统的设计演示 摘要 随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。本次开发的高校专业实…

RabbitMQ配置与交换机学习

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…