mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-05 01:36:32 +08:00
45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
//
|
|
// Created by 李洋 on 2023/10/13.
|
|
//
|
|
|
|
#ifndef LEECODE_C_Q1488_H
|
|
#define LEECODE_C_Q1488_H
|
|
|
|
#include <vector>
|
|
#include <map>
|
|
|
|
using namespace std;
|
|
|
|
class Q1488 {
|
|
public:
|
|
vector<int> avoidFlood(vector<int> &rains) {
|
|
map<int, int> m;
|
|
vector<int> ret;
|
|
for (int i = 0; i < rains.size(); i++) {
|
|
if (rains[i] == 0) {
|
|
for (int j = i + 1; j < rains.size(); ++j) {
|
|
if (j > 0) {
|
|
if (m[rains[j]] == 1) {
|
|
m.erase(rains[j]);
|
|
ret.push_back(rains[j]);
|
|
break;
|
|
}
|
|
}
|
|
if (j == rains.size() - 1) {
|
|
ret.push_back(1);
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
if (m[rains[i]]) {
|
|
return vector<int>();
|
|
}
|
|
m[rains[i]] = 1;
|
|
ret.push_back(-1);
|
|
}
|
|
return ret;
|
|
}
|
|
};
|
|
|
|
#endif //LEECODE_C_Q1488_H
|