力扣LCR184.设计自助结算系统
力扣LCR184.设计自助结算系统
-
一个队列存所有value
- 一个数组模拟单调队列存区间最大值
-
const int N = 100010; int a[N]; class Checkout { queue<int> q; int hh=0,tt=-1; public: Checkout() { } int get_max() { if(hh > tt) return -1; return a[hh]; } void add(int value) { while(hh <= tt && a[tt] <= value) tt --; a[++tt] = value; q.push(value); } int remove() { if(q.empty()) return -1; int ans = q.front(); if(ans == a[hh]) hh++; q.pop(); return ans; } };
原文地址:https://blog.csdn.net/Pisasama/article/details/140519950
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!