中级农民
- 积分
- 138
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-9-7
- 最后登录
- 1970-1-1
|
Good luck for onsite! 都是经典的题目
- vector<int> BST2Array(Node* r) {
- if (!r) return {};
- auto L(BST2Array(r->left)), R(BST2Array(r->right));
- L.push_back(r->val); L.insert(L.end(), R.begin(), R.end());
- return L;
- }
- typedef pair<vector<int>::iterator, vector<int>::iterator> PI;
- struct Comp { bool operator()(PI& a, PI& b) { return *a.first > *b.first; } };
- vector<int> sortSorted(vector<vector<int>>& a) {
- vector<int> res; priority_queue<PI, vector<PI>, Comp> pq;
- for (auto& x:a) if (!x.empty()) pq.emplace(x.begin(), x.end());
- while (!pq.empty()) {
- auto c = pq.top(); res.push_back(*c.first); pq.pop();
- if (++c.first != c.second) pq.push(c);
- }
- return res;
- }
复制代码 |
|