Count of Smaller Numbers After Self

来源:互联网 发布:mysql 默认开启事件 编辑:程序博客网 时间:2024/05/21 07:46

用了插入排序的思路,记录一下  STL大法好   distance那里还可以通过memorization优化一点

vector.insert会导致VS出现“变量已被优化掉,因而不可用”的错误,但是实际上vector还是存在内存中的,cout可以输出。

由于使用了lower_bound,所以vector的insert操作都是一个挨着一个进行的,不会超出vector的范围,所以也就不会报out of range的错误了,这一点很精巧。

class Solution {public:vector<int> countSmaller(vector<int>& nums) {vector<int> t, res(nums.size());for (int i = nums.size() - 1; i >= 0; --i) {int d = distance(t.begin(), lower_bound(t.begin(), t.end(), nums[i]));res[i] = d;t.insert(t.begin() + d, nums[i]);}return res;}};


0 0
原创粉丝点击