当前位置: 代码迷 >> 综合 >> Leetcode 1488. 避免洪水泛滥(DAY 189)---- 二分查找学习期
  详细解决方案

Leetcode 1488. 避免洪水泛滥(DAY 189)---- 二分查找学习期

热度:104   发布时间:2023-11-17 16:57:56.0

文章目录

    • 原题题目
    • 代码实现(首刷自解)


原题题目


在这里插入图片描述


代码实现(首刷自解)


class Solution {
    
public:vector<int> avoidFlood(vector<int>& rains) {
    unordered_map<int,int> map;set<int> set;vector<int> ret(rains.size(),-1);for(int i=0;i<rains.size();++i){
    if(!rains[i]){
    set.emplace(i);ret[i] = 1;}else{
    if(map.find(rains[i]) == map.end())  map[rains[i]] = i;else{
    auto iter = set.lower_bound(map[rains[i]]);if(iter == set.end()){
    ret.clear();break;}else{
    ret[*iter] = rains[map[rains[i]]];set.erase(iter);map[rains[i]] = i;}}}}return ret;}
};