Count of Smaller Numbers After Self
来源:互联网 发布:山东广电网络集团官网 编辑:程序博客网 时间:2024/06/16 04:37
You are given an integer array nums and you have to return a new counts array.The counts array has the property where counts[i]
is the number of smaller elements to the right ofnums[i]
.
Example:
Given nums = [5, 2, 6, 1]To the right of 5 there are 2 smaller elements (2 and 1).To the right of 2 there is only 1 smaller element (1).To the right of 6 there is 1 smaller element (1).To the right of 1 there is 0 smaller element.
Return the array
[2, 1, 1, 0]
.class Solution {struct node{ int val,copy,leftCnt; node *left,*right; node(int x){val=x;copy=1;leftCnt=0;left=NULL;right=NULL;}};public: vector<int> countSmaller(vector<int>& nums) { int curSum; int sz = nums.size(); vector<int> r(sz,0); if(sz <= 1) return r; node *root = new node(nums[sz-1]); node *t; node *pos; int v; for (int i=sz-2;i>=0;i--){ curSum = 0; t = root; v = nums[i]; while(t){ pos = t; if(v < t->val){ t->leftCnt++; t = t->left; } else if(v == t->val){ t->copy++; curSum += t->leftCnt; break; } else { curSum += (t->leftCnt + t->copy); t = t->right; } } if(v < pos->val){ pos->left = new node(v); } else if(v > pos->val){ pos->right = new node(v); } r[i] = curSum; } return r; }};没有释放内存
阅读全文
0 0
- leetcode Count of Smaller Numbers After Self
- leetcode Count of Smaller Numbers After Self
- [LeetCode315]Count of Smaller Numbers After Self
- leetcode Count of Smaller Numbers After Self
- Count of Smaller Numbers After Self | LeetCode
- leetcode Count of Smaller Numbers After Self
- 315Count of Smaller Numbers After Self
- LeetCode Count of Smaller Numbers After Self
- [Leetcode]Count of Smaller Numbers After Self
- leetcode - Count of Smaller Numbers After Self
- leetcode:Count of Smaller Numbers After Self
- Count of Smaller Numbers After Self
- Count of Smaller Numbers After Self
- Count of Smaller Numbers After Self
- 315. Count of Smaller Numbers After Self
- 315. Count of Smaller Numbers After Self
- 【Leetcode】Count of Smaller Numbers After Self
- 315. Count of Smaller Numbers After Self
- PHP面试之文件夹下内容重复的文件去重
- IO输出输入流
- NYOJ-353 3D地图搜索
- C++字符串数组
- 360浏览器下自动填写用户名密码惹祸了
- Count of Smaller Numbers After Self
- POJ2676
- SPOJ
- androidSudio学习网站
- 18、vue.js 之路由钩子函数
- 算法作业_24(2017.5.23第十四周)
- hdu1846(巴什博弈)
- offsetwidth与width区别
- 线程辅助类(一)--Exchanger