Day37 贪心算法part04

embedded/2024/10/22 15:26:11/

LC860柠檬水找零(未掌握)

  1. 未掌握分析:20的时候找零卡住,同时贪心思路就想了很久
    • 当bill[i]=20的时候,我们有两种找零范式,找零10、5和找零三个5,优先找零10、5,因为三个5是可以替代10、5的情况的,我们需要留着三个5防备其他情况。
  2. 代码
    在这里插入图片描述

LC406根据身高重建队列(未掌握

  1. 两个维度的题目,与LC135分糖果一样,一定要先确定一个维度,再确定另一个维度。如果两个维度一起考虑一定会顾此失彼。
  2. 如果是先按照K从小到大排序,可以发现K维度和h维度哪个都没有确定下来,与思想违背,因为先确定h再确定k
  3. h从大到小排(h相同的话则k小的站前面),让高个子在前面
  4. 只需要按照k为下标重新插入队列,因为身高是按照高到低排序的,因此可以保证下标k之前一定有个k(0-k-1)个人身高大于或者等于k处的身高
  5. ==使用lambda函数完成数组的排序,需要熟悉这种写法(a,b)->{if(a[0]b[0]) return a[1]-b[1];else return b[0]-a[0];}
  6. 向list的指定位置插入元素的方法:add(index,value)
  7. list转换为数组list.toArray(new int[nums.length]);
  8. 代码
    在这里插入图片描述

LC452用最少数量的箭引爆气球(未掌握)

  1. 最初的思考是把数组看作是一段范围,只要范围重合了一个箭就可以解决,但是思路是有问题的,因为三个数组不一定全部都有重叠部分,可能是两两重叠两两重叠(此时需要两个箭,但是只计数了1),原本的想法只统计了孤立的范围的个数,但是却并不是结果数
  2. 算法的思路:当气球出现重叠,一起射,所用弓箭最少
    • 为了让气球尽可能的重叠,需要对数组进行排序
    • 如果气球重叠了,重叠气球中右边边界的最小值之前的区间一定需要一个弓箭
    • 代码思路即每次都取重叠范围的最小右边界,如果不重叠就result++
  3. 代码
    数组排序出错?待解释
    [[-2147483646,-2147483645],[2147483646,2147483647]]-》[[2147483646,2147483647],[-2147483646,-2147483645]]

在这里插入图片描述
在这里插入图片描述


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

相关文章

junams 文件上传 (CNVD-2020-24741)

漏洞环境搭建:vulfocus 发现这个页面后,通过访问IP:Port/admin.php,登录后台 通过默认用户名密码admin:admin进行登录 登录后台后,主要思路就是找到网站的文件上传点,然后去上传一句话木马,或者找到命令执…

【kubernetes】集群的 kubeadm 安装及 部署 harbor 仓库

目录 前言 一、环境部署 二、部署 K8S 集群 1、所有节点设备安装docker 2、所有节点安装kubeadm,kubelet和kubectl 3、查看初始化镜像并执行脚本加载镜像文件 4、初始化 kubeadm 4.1 方法一(yaml配置文件完成初始化) 4.2 方法二&…

python基础

一.输入输出 1.输入 print(hello world) //可以用 或者"""表示字符串 2.python还提供了input函数 例如 name input(); weekId eval(input("请输入星期数字(1-7):")) # input()默认返回字符串类型,用e…

服务高峰期gc,导致服务不可用

随着应用程序的复杂性和负载的不断增加,对JVM进行调优,也是保障系统稳定性的一个重要方向。 需要注意,调优并非首选方案,一般来说解决性能问题还是要从应用程序本身入手(业务日志,慢请求等)&am…

没有密码如何卸载卡巴斯基?

如果忘记卡巴斯基6.0的保护密码, (1)进入安全模式下 (2)打开6.0的安装目录 Kaspersky Anti-Virus 6.0: C://Program Files//Kaspersky Lab//Kaspersky Anti-Virus 6.0 (3)将目录中的avp.exe改…

K-means聚类模型教程(个人总结版)

K-means聚类是一种广泛应用于数据挖掘和数据分析的无监督学习算法。它通过将数据点分成K个簇(cluster),使得同一簇内的数据点之间的相似度最大,不同簇之间的相似度最小。本文将详细介绍K-means聚类算法的背景、基本原理、具体实现…

Java基础(三)- 多线程、网络通信、单元测试、反射、注解、动态代理

多线程基础 线程:一个程序内部的一条执行流程,只有一条执行流程就是单线程 java.lang.Thread代表线程 主线程退出,子线程存在,进程不会退出 可以使用jconsole查看 创建线程 有多个方法可以创建线程 继承Thread类 优点&#x…

PyQt5 中的 List View

文章目录 1. 基础概念2. 创建 List View2.1 PyQt5 中一个简单的 List View 实例2.2 代码解释2.3 运行结果 3. 数据模型3.1 标准模型3.2 自定义模型 4. 自定义 List View4.1 使用样式表 (QSS)4.2 设置项委托 (Item Delegate) 5.事件处理6. 与数据交互6.1 添加数据6.2 删除数据6.…