leetcode:1488. 避免洪水泛滥【二分 + 贪心】
分析
先把可以抽干的位置记录下来,用sortedlist的q,方便删除
然后用dict记录某个湖之前是否出现过
如果出现过肯定有pre和now的位置
然后根据pre和now找到q中对应的idx,直接改变这个idx对应的湖即可
模拟贪心二分吧
ac code
from sortedcontainers import SortedListclass Solution:def avoidFlood(self, rains: List[int]) -> List[int]:get_drys = SortedList()n = len(rains)ans = [-1] * nfor i in range(n):if rains[i] == 0:get_drys.add(i)d = defaultdict(int)for i in range(1, n + 1):if rains[i - 1] > 0:if d[rains[i - 1]] == 0:d[rains[i - 1]] = ielse:pre, now = d[rains[i - 1]] - 1, i - 1idx1 = bisect_left(get_drys, pre)idx2 = bisect_left(get_drys, now)if idx1 == idx2: # no dry optionreturn []else:# pick the first oneidx3 = get_drys[idx1]ans[idx3] = rains[i - 1]get_drys.discard(idx3)d[rains[i - 1]] = ifor i in range(n):if rains[i] == 0 and ans[i] == -1:ans[i] = 1return ans
总结
二分和贪心
leetcode:1488. 避免洪水泛滥【二分 + 贪心】相关推荐
- LeetCode 1488. 避免洪水泛滥(贪心+set二分查找)
1. 题目 你的国家有无数个湖泊,所有湖泊一开始都是空的. 当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水. 你的目标是避免任意一个湖泊发生洪水. 给你 ...
- LeetCode 1488. 避免洪水泛滥--模拟
避免洪水泛滥 你的国家有无数个湖泊,所有湖泊一开始都是空的.当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水.你的目标是避免任意一个湖泊发生洪水. 给你一 ...
- 题目地址(1488. 避免洪水泛滥)
题目地址(1488. 避免洪水泛滥) https://leetcode.cn/problems/avoid-flood-in-the-city/ 题目描述 你的国家有无数个湖泊,所有湖泊一开始都是空的 ...
- LeetCode 1488. Avoid Flood in The City - Java - 优先队列
题目链接:1488. 避免洪水泛滥 Your country has an infinite number of lakes. Initially, all the lakes are empty, ...
- 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...
- 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)
LeetCode刷题笔记:二分查找(简单) 学算法,刷力扣,加油卷,进大厂! 题目描述 涉及算法 题目解答 学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给定一个 n 个元素有序的(升序) ...
- 洛谷P1182 数列分段 Section II(二分+贪心)
题目描述 对于给定的一个长度为N的正整数数列 A1∼NA _{1∼N}A1∼N,现要将其分成 M(M≤N)M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一 ...
- 【刷题篇】避免洪水泛滥
目录 一.题目 二.题解 2.1 大致思路 2.2 详细实现 2.3 源码 一.题目 OJ链接 二.题解 2.1 大致思路 2.2 详细实现 2.3 源码 import java.util.HashM ...
- 电影 《洪水泛滥之前》下载地址 Before the Flood
我刚才看了下<洪水泛滥之前>电影,了解了关于全球变暖的事实,也知道了<巴黎条约>的意图所在,意图在减少化石燃料的使用,保护全球气候,给我们的未来一个清白的天空.而 Trump ...
最新文章
- Direct2D教程(二)来看D2D世界中的Hello,World
- java socket 握手_TCP建立连接三次握手过程详解(wireshark截图、java socket源码)
- Spark Streaming的玫瑰与刺
- EXTJS学习系列提高篇:第八篇(转载)作者殷良胜,制作树形菜单之二
- Visio实现箭头反向
- 润和大数据负责人崔凯参加PostgreSQL中国技术大会
- ubuntu下载BT种子安装qBittorrent
- 美的空气净化器H32评测:美观、实用以及更多
- Qt知识点梳理 —— 静态函数发送信号
- 怎么写出计算机SCI论文
- linux 查看服务器资源(cpu型号、cpu数量、内存大小、磁盘空间)
- SpringCloud-5-Hystrix
- 基于springboot的电影院会员管理系统
- win7更新_Win7用户福音:微软集成更新的新版Windows 7镜像泄露
- TensorRT网络推理c++实现
- 数字图像处理实验三-图像基本运算
- Postgre SQL group_concat 写法
- NUXT 踩坑 —— 封装 Axios 请求拦截
- 金融信息破局刍议【1】局面概览
- 让U盘不再中病毒的方法
热门文章
- 如何使用api调用数据?
- QT实现ListWidget排列图片
- c++ vector 一部分_乔治娜怼黑粉!嫉妒不会使人进步,我和C罗都完成蜕变,感觉很棒|乔治娜|c罗|王子|布里斯托尔|意大利...
- 【正点原子STM32连载】第四十章 DHT11数字温湿度传感器 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- 多媒体会议室系统有哪些功能,小型会议室系统解决方案
- 鬼谷子《本经阴符七术》上:千古奇人奇文,以一人之力颠覆全世界
- Java实现接口RSA2校验
- 解析Java横死之谜,气定神闲看花开花落
- Unity街机横版格斗(恐龙快打)插件-Beat Em Up Template 3D 1.3(附下载连接)
- 《人人都是产品经理》读书笔记 Part 1