#include <iostream>
#include <stack>
using namespace std;
int main() {
int n, max_quality = 0, prev_max_quality = 0;
stack<int> s;
cin >> n;
for (int i = 0; i < n; i++) {
int event;
cin >> event;
if (event == 0) {
// если извлекаем желудь, то выводим максимальное качество
int top = s.top();
s.pop();
if (top == max_quality) {
max_quality = prev_max_quality;
}
cout << max_quality << endl;
} else {
// если нашли новый желудь, то добавляем его в стек
prev_max_quality = max_quality;
s.push(event);
max_quality = max(max_quality, event);
}
}
return 0;
}
если их будет 100 тысяч
this.comments = this.comments.map(...)
foundComment.children = data;
Куда копать?
const removeParenthesesNR=(s)=>{
let len = -1;
while(len !== s.length) {
len = s.length;
s = s.replace(/\([^()]*\)/g, "");
}
return s;
}
function removeParentheses(str) {
const arr = [];
let idx = 0, depth;
while (idx < str.length) {
const newIdx = str.indexOf('(', idx);
if (newIdx < 0) {
break;
}
arr.push(str.substring(idx, newIdx));
for (depth = 1, idx = newIdx + 1; idx < str.length && depth; ++idx) {
const c = str[idx];
depth = depth + (c === ')' ? -1 : c === '(' ? 1 : 0);
}
}
return arr.join('') + str.substr(idx);
}
И еще вопрос: ждет ли тело функции выполнение setTimeout?
const delay = (ms) => new Promise(r => setTimeout(r, ms));
async function run() {
for (var i = 0; i < 3; i++) {
await delay(1000);
console.log(i);
}
}
run();