当前位置: 首页 > news >正文

Day37 贪心算法part04

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]]

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

相关文章:

  • K-means聚类模型教程(个人总结版)
  • web开发中的四种会话跟踪技术
  • 一阶数字高通滤波器
  • ASTGCN 论文学习上
  • C-数据结构-双向链表(linux内核 )
  • 【linux系统学习教程 Day03】网络安全之Linux系统学习教程,用户和用户组管理,创建用户,删除用户,创建组,删除组....
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • 官宣!正式成为淡人!向数据备份焦虑Say NO!
  • 三元组的最短距离
  • 【论文速读】|探索ChatGPT在软件安全应用中的局限性
  • ubuntu20.04 10分钟搭建无延迟大疆无人机多线程流媒体服务器
  • linux系统安全加固
  • URL化00
  • 适用于 Windows 7/8/10/11 的 6 款最佳免费分区软件
  • vue使用Less报错semi-colon expectedcss(css-semicolonexpected)的解决方法
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 2019年如何成为全栈工程师?
  • Android组件 - 收藏集 - 掘金
  • ES6系列(二)变量的解构赋值
  • ES6语法详解(一)
  • exports和module.exports
  • Gradle 5.0 正式版发布
  • HTTP那些事
  • idea + plantuml 画流程图
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Laravel Mix运行时关于es2015报错解决方案
  • mysql 5.6 原生Online DDL解析
  • mysql外键的使用
  • Promise初体验
  • python docx文档转html页面
  • windows-nginx-https-本地配置
  • 服务器之间,相同帐号,实现免密钥登录
  • 基于webpack 的 vue 多页架构
  • 利用DataURL技术在网页上显示图片
  • 判断客户端类型,Android,iOS,PC
  • 前端路由实现-history
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 学习JavaScript数据结构与算法 — 树
  • 译有关态射的一切
  • 阿里云重庆大学大数据训练营落地分享
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #Linux(权限管理)
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C#)获取字符编码的类
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)php新闻发布平台 毕业设计 141646
  • (论文阅读11/100)Fast R-CNN
  • ***监测系统的构建(chkrootkit )
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET的数据绑定
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作