【代码随想录】算法训练计划35

news2024/9/22 19:32:56

贪心

1、860. 柠檬水找零

题目:
输入:bills = [5,5,5,10,20]
输出:true

思路:
  • 模拟大法
func lemonadeChange(bills []int) bool {
    //贪心,代码一刷, 感觉要用到hashmap,也不用
    five, ten := 0,0
    for i:=0; i<len(bills); i++ {
        if bills[i] == 5 {
            five++
        } else if bills[i] == 10 {
            if five >= 1 {
                five--
                ten++
            } else {
                return false
            }
        } else if bills[i] == 20 {
            if five > 0 && ten > 0 {
                five--
                ten--
            } else if five >= 3 {
                five -= 3
            } else {
                return false
            }
        }
    }
    return true
}

2、406. 根据身高重建队列

题目:
题目读了5遍,giao,才读懂
在这里插入图片描述

思路:
  • 贪心,先按照h,k排序,再按照k排序
func reconstructQueue(people [][]int) [][]int {
    // 代码一刷
    sort.Slice(people, func(a,b int) bool {
        if people[a][0] == people[b][0] {
            return people[a][1] < people[b][1]
        }
        return people[a][0] > people[b][0]
    })
    for i, p := range people {
        copy(people[p[1]+1 : i+1], people[p[1] : i+1])
        people[p[1]] = p
    }
    return people
}

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

题目:
用最少数量的箭引爆气球
输入:points = [[10,16],[2,8],[1,6],[7,12]]
输出:2

思路:
  • 画图+模拟,sort.Slice用的6了
func findMinArrowShots(points [][]int) int {
    res := 1
    sort.Slice(points, func(i, j int) bool {
        return points[i][0]<points[j][0]
    })
    for i:=1; i<len(points); i++ {
        if points[i][0] > points[i-1][1] {
            res++
        } else{
            points[i][1] = min(points[i][1], points[i-1][1]);
        }
    }
    return res
}
func min(a,b int) int {if a>b {return b}; return a}

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

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

相关文章

文件操作在 Python 中的基本用法

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 文件操作是任何编程语言中都至关重要的一部分&#xff0c;Python 提供了简单而强大的文件操作功能&#xff0c;使得读取、写入和处理文件变得非常便捷。本文将详细介绍 Python 中文件操作的基本用法&#xff0c;…

SpringBoot使用动态Banner

SpringBoot使用动态Banner Spring Boot 2.0 提供了很多新特性&#xff0c;其中就有动态 Banner。 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://w…

sizeof 和 strlen的对比及笔试题目

目录 题目1&#xff1a; 题目2&#xff1a; 题目3&#xff1a; 题目4&#xff1a; 题目5&#xff1a; 题目6&#xff1a; 二维数组题&#xff08;重点&#xff09;&#xff1a; 上述题目总结&#xff1a; 若想了解其他的字符函数和字符串函数请移步&#xff1a;深入理解…

Gin投票系统(2)

投票系统 数据库的建立 先分析需求&#xff0c;在sql中建立数据库&#xff0c;关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表” 成功后目前有四个表&#xff1a; vote&#xff0c;user&#xff0c;vote_opt,vote_opt_user 建立数据库&#xff0c;可以…

万字解析设计模式之迭代器模式、备忘录模式

一、迭代器模式 1.1概述 迭代器模式是一种行为型设计模式&#xff0c;它允许在没有暴露其底层表现形式的情况下遍历集合对象。迭代器模式提供一种通用的遍历机制&#xff0c;可以遍历任何类型的集合&#xff0c;包括数组、列表、树等。通过这种模式&#xff0c;可以实现一种通…

微信小程序 老年人心血管健康知识科普系统

本系统的功能有管理员&#xff1a;个人中心&#xff0c;用户管理&#xff0c;热点信息管理&#xff0c;疾病管理&#xff0c;疾病类型管理&#xff0c;治疗管理&#xff0c;治疗类型管理&#xff0c;护理管理&#xff0c;护理类型管理&#xff0c;科普管理&#xff0c;科普类型…

Microsoft Office Exce-筛选后的公式批量复制粘贴为值 并且不乱数据

Microsoft Office Exce-利用选择性粘贴将筛选后的公式结果批量转换为值 1、写好【客单价】公式&#xff0c;并下拉填充 &#xff08;【SKU】、【销售额】、【销售量】这三列都是常量&#xff0c;非公式&#xff09; 2、复制客单价公式到E列 3、筛选数据&#xff0c; 按 Delet…

成员内部类(内部类) - Java

成员内部类 说明&#xff1a;成员内部类是定义在外部类的成员位置&#xff0c;并且没有static修饰。 可以直接访问外部类的所有成员&#xff0c;包含私有的。【案例a】可以添加任意访问修饰符&#xff08;public、protected、默认、private&#xff09;&#xff0c;因为它的地…

数组中的第 K 个最大元素(C++实现)

数组中的第 K 个最大元素 题目思路代码 题目 数组中的第 K 个最大元素 思路 通过使用优先队列&#xff08;最大堆&#xff09;来找到数组中第k大的元素。通过弹出最大堆中的前k-1个元素&#xff0c;留下堆中的顶部元素作为结果返回。 代码 class Solution { public:int find…

某东大厂面试js手写题【手写代码附带注释,放心食用,博主亲测】

文章目录 前言js实现push方法js实现订阅发布手写防抖节流手写reduce方法深拷贝es5去重数组多维数组去重排序简单递归实现树形结构输出遍历后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端面试 &#x1f431;‍&#x1f453;博主在前…

摄影网站的技术 SEO:提示和最佳实践

摄影就是要给人留下良好的第一印象。如果你想在竞争中领先&#xff0c;摄影师的SEO是您可以采用的最佳营销方法之一。 我们都曾有过这样的经历&#xff1a;你建立了一个漂亮的作品集网站来吸引更多的业务。网站上线并在社交媒体上推广后&#xff0c;您就可以坐等了。网站访问量…

线程池在Java中的应用实践

摘要&#xff1a;在实际业务场景中&#xff0c;线程池发挥着重要作用。本文将详细解答在高并发、任务执行时间短、并发不高、任务执行时间长以及并发高、业务执行时间长的业务场景下&#xff0c;如何使用线程池进行优化。 一、高并发、任务执行时间短的业务场景 在高并发、任务…

python服装电商系统vue购物商城django-pycharm毕业设计项目推荐

系统面向的使用群体为商家和消费者&#xff0c;商家和消费者所承担的功能各不相同&#xff0c;所对象的权限也各不相同。对于消费者和商家设计的功能如下&#xff1a; 对于消费者设计了五大功能模块&#xff1a; &#xff08;1&#xff09; 商品信息&#xff1a;用户可在商品…

【黑马甄选离线数仓day06_核销主题域开发】

1. 核销主题_DWD和DWM层 1.0 ODS层 操作数据存储层: Operate Data Store 核心理念: 几乎和源数据保持一致,粒度相同 注意事项: 同步方式(全量同步,全量覆盖,增量仅新增,增量新增和更新) 内部表 分区表(部分) 指定字符分隔符 orc zlib 第二天的时候已经完成了从mysql以及sq…

蓝蜂虚拟网络工具配置说明

虚拟网络工具配置说明 注意&#xff1a; 1、在使用虚拟网络工具前&#xff0c;需保证EG20网关可以连接到EMCP云平台&#xff0c;并且设备已经绑定在对应的账号下&#xff0c;同时固件版本为v1.6.6以上。如果不是&#xff0c;点击固件版本处的更新&#xff0c;如下图所示。 2…

GitHub----使用记录

一、上传文件到仓库 1、首先新建一个github仓库 然后先记住这一句指令 2、下载git工具 https://git-scm.com/downloads 下载工具安装不用运行 3、使用git工具上传文件并推送 找到你想上传的文件的位置&#xff0c;右击git Bush here git init &#xff1a;初始化这个仓…

【Python 训练营】N_11 模拟进度条

题目 格式化输出进度条&#xff0c;具体格式如下&#xff1a; 分析 需要格式化打印&#xff0c;进度条随时间显示进展&#xff0c;需要用time模块的sleep()函数。 答案 import time # 导入time模块 length 100 # 定义进度长度模块 for i in range(1,length1): # 遍历1&…

Corel产品注册机Corel Products KeyGen 2023 – XFORCE解决会声会影2023试用30天

CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8 CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8&#xff0c;Corel产品注册机&#xff08;Corel Products KeyGen 2023 – XFORCE&#xff09;&#xff0c;支持Corel旗下所…

TDL CDL信道模型

文章目录 一 TDL二 CDL三 CDL TDL区别 TDL&#xff1a;(Tapped Delay Line&#xff0c;抽头延迟线) CDL&#xff1a;(Clustered Delay Line&#xff0c;集群延迟线) 一 TDL 定义&#xff1a;由一组不同衰落系数和不同时延的抽头组成。全频率范围为&#xff1a;0.5GHz~100GHz&am…

【刷题笔记】分糖果||数组||暴力通过||符合思维方式||多案例分析

分发糖果 文章目录 分发糖果1 题目描述2 题目分析2.1 寻找波峰波谷2.2 从波底往波峰攀爬&#xff01;2.2 计算糖果 3 代码附录1 1 题目描述 https://leetcode.cn/problems/candy/ n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&…