官网网站建设需求文档,title 镇江网站建设,有什么做衣服的网站好,手机网站分类菜单2023每日刷题#xff08;十四#xff09;
Leetcode—1488.避免洪水泛滥 算法思想
将晴天的日期全部记录在setint sun中使用unordered_mapint, int lakeRainy来记录每个湖泊上一次下雨的日期遇到晴天时先不用管抽哪个湖当下雨时#xff0c;湖泊已经装满水时…2023每日刷题十四
Leetcode—1488.避免洪水泛滥 算法思想
将晴天的日期全部记录在setint sun中使用unordered_mapint, int lakeRainy来记录每个湖泊上一次下雨的日期遇到晴天时先不用管抽哪个湖当下雨时湖泊已经装满水时我们可以查询该湖泊上一次下雨的日期通过这个日期在晴天记录中查找对应的大于等于该湖泊上一次下雨天数的最小索引 idx可以用二分查找实现如果找到了就可以使用那一天抽水找不到就不可避免的洪水了
实现代码
class Solution {
public:vectorint avoidFlood(vectorint rains) {int n rains.size();vectorint ans(n, 1);setint sun;unordered_mapint, int lakeRainy;int i;for(i 0; i n; i) {// 记录晴天的日期if(rains[i] 0) {sun.insert(i);continue;}if(lakeRainy.count(rains[i]) ! 0) {auto t sun.lower_bound(lakeRainy[rains[i]]);if(t sun.end()) {return {};}ans[*t] rains[i];sun.erase(t);}ans[i] -1;lakeRainy[rains[i]] i;}return ans;}
};
运行结果 之后我会持续更新如果喜欢我的文章请记得一键三连哦点赞关注收藏你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 ↖(▔▽▔)↗感谢支持