力扣-406-根据身高重建队列

第一眼觉得有一种逆向单调栈的既视感

看评论区举了一个很生动形象的例子,自己还是写不出来

vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
	vector<vector<int>> ans;
	sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v){
		return u[0] > v[0] || (u[0] == v[0] && u[1] < v[1]);
		});
	for (const vector<int>& person:people) 
		ans.insert(ans.begin() + person[1], person);
	
	return ans;
}

官解看完两个感觉:

  1. 重写sort函数的比较规则好厉害,用的似乎是lambda表达式
  2. vector居然还有insert()方法,真是bug
posted @ 2022-12-20 17:18  YaosGHC  阅读(23)  评论(0)    收藏  举报