分析

先把可以抽干的位置记录下来,用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. 避免洪水泛滥【二分 + 贪心】相关推荐

  1. LeetCode 1488. 避免洪水泛滥(贪心+set二分查找)

    1. 题目 你的国家有无数个湖泊,所有湖泊一开始都是空的. 当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水. 你的目标是避免任意一个湖泊发生洪水. 给你 ...

  2. LeetCode 1488. 避免洪水泛滥--模拟

    避免洪水泛滥 你的国家有无数个湖泊,所有湖泊一开始都是空的.当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水.你的目标是避免任意一个湖泊发生洪水. 给你一 ...

  3. 题目地址(1488. 避免洪水泛滥)

    题目地址(1488. 避免洪水泛滥) https://leetcode.cn/problems/avoid-flood-in-the-city/ 题目描述 你的国家有无数个湖泊,所有湖泊一开始都是空的 ...

  4. LeetCode 1488. Avoid Flood in The City - Java - 优先队列

    题目链接:1488. 避免洪水泛滥 Your country has an infinite number of lakes. Initially, all the lakes are empty, ...

  5. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)

    CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...

  6. 卷进大厂系列之LeetCode刷题笔记:二分查找(简单)

    LeetCode刷题笔记:二分查找(简单) 学算法,刷力扣,加油卷,进大厂! 题目描述 涉及算法 题目解答 学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给定一个 n 个元素有序的(升序) ...

  7. 洛谷P1182 数列分段 Section II(二分+贪心)

    题目描述 对于给定的一个长度为N的正整数数列 A1∼NA _{1∼N}A1∼N​,现要将其分成 M(M≤N)M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一 ...

  8. 【刷题篇】避免洪水泛滥

    目录 一.题目 二.题解 2.1 大致思路 2.2 详细实现 2.3 源码 一.题目 OJ链接 二.题解 2.1 大致思路 2.2 详细实现 2.3 源码 import java.util.HashM ...

  9. 电影 《洪水泛滥之前》下载地址 Before the Flood

    我刚才看了下<洪水泛滥之前>电影,了解了关于全球变暖的事实,也知道了<巴黎条约>的意图所在,意图在减少化石燃料的使用,保护全球气候,给我们的未来一个清白的天空.而 Trump ...

最新文章

  1. Direct2D教程(二)来看D2D世界中的Hello,World
  2. java socket 握手_TCP建立连接三次握手过程详解(wireshark截图、java socket源码)
  3. Spark Streaming的玫瑰与刺
  4. EXTJS学习系列提高篇:第八篇(转载)作者殷良胜,制作树形菜单之二
  5. Visio实现箭头反向
  6. 润和大数据负责人崔凯参加PostgreSQL中国技术大会
  7. ubuntu下载BT种子安装qBittorrent
  8. 美的空气净化器H32评测:美观、实用以及更多
  9. Qt知识点梳理 —— 静态函数发送信号
  10. 怎么写出计算机SCI论文
  11. linux 查看服务器资源(cpu型号、cpu数量、内存大小、磁盘空间)
  12. SpringCloud-5-Hystrix
  13. 基于springboot的电影院会员管理系统
  14. win7更新_Win7用户福音:微软集成更新的新版Windows 7镜像泄露
  15. TensorRT网络推理c++实现
  16. 数字图像处理实验三-图像基本运算
  17. Postgre SQL group_concat 写法
  18. NUXT 踩坑 —— 封装 Axios 请求拦截
  19. 金融信息破局刍议【1】局面概览
  20. 让U盘不再中病毒的方法

热门文章

  1. 如何使用api调用数据?
  2. QT实现ListWidget排列图片
  3. c++ vector 一部分_乔治娜怼黑粉!嫉妒不会使人进步,我和C罗都完成蜕变,感觉很棒|乔治娜|c罗|王子|布里斯托尔|意大利...
  4. 【正点原子STM32连载】第四十章 DHT11数字温湿度传感器 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  5. 多媒体会议室系统有哪些功能,小型会议室系统解决方案
  6. 鬼谷子《本经阴符七术》上:千古奇人奇文,以一人之力颠覆全世界
  7. Java实现接口RSA2校验
  8. 解析Java横死之谜,气定神闲看花开花落
  9. Unity街机横版格斗(恐龙快打)插件-Beat Em Up Template 3D 1.3(附下载连接)
  10. 《人人都是产品经理》读书笔记 Part 1