LINTCODE——逆序对
来源:互联网 发布:ip域名查询 编辑:程序博客网 时间:2024/06/03 23:39
LINTCODE——逆序对
思路:本来直接统计的,结果TIMEOUT,后来改用归并排序统计,通过了,就一个注意的,数组num分成L,mid,R三段时,如果L<=i<=mid ,mid+1 <= j <=R,此刻如果num[j] < num[i] ,那么对于J来说就有mid+i-1个逆序对;
class Solution {private : long long count = 0; vector<int> num;public: /* * @param A: an array * @return: total of reverse pairs */ long long reversePairs(vector<int> &A) { // write your code here int R = A.size() - 1, L = 0 ; num.resize(R+1,0); sort(A , L , R ); return count; } void sort(vector<int> &A , int L ,int R ) { if(R <= L) return; int mid = (L+R)>>1; sort(A,L,mid); sort(A,mid+1,R); merge(A,L,mid ,R); } void merge(vector<int> &A , int L ,int mid ,int R ) { for(int x = L ; x <= R ; x++) num[x] = A[x] ; for(int k = L ,i = L ,j = mid+1; k <= R ; k++ ) { if( i > mid) A[k] = num[j++]; else if(j > R) A[k] = num[i++]; else if(num[j] < num[i]) { A[k] = num[j++]; count += (mid - i + 1); } else A[k] = num[i++]; } }};
阅读全文
0 0
- LINTCODE——逆序对
- LintCode:逆序对
- lintcode,逆序对
- LintCode 求逆序对
- LintCode之逆序对
- [LintCode]532.逆序对
- LintCode 逆序对
- 逆序对-LintCode
- [LintCode] 逆序对 Reverse Pairs
- lintcode 逆序对(Reverse Pairs )(Java)
- 剑指offer——求逆序对
- 归并排序应用——逆序对
- 数据结构学习——动态逆序对
- 剑指offer—数组中的逆序对
- 树状数组入门—逆序对统计
- 逆序对—权值线段树
- [逆序对] 入门 — [HDU] 1394
- 剑指offer—数组中的逆序对
- 地址转经纬度(百度)function
- 西瓜书-机器学习《一》
- %:的使用
- 前向传播和反向传播(举例说明)
- python- 路径
- LINTCODE——逆序对
- python执行sql文件
- 【网站建设】搭建简单动态网站
- 控件相对屏幕的坐标位置
- hdu2588(欧拉函数)
- 数值转换 Number() parseInt() parseFloat()
- BPI-M1P(全志A20)刷Android启动卡之后启动的过程
- 运维人员必须熟悉的运维工具汇总
- java 虚拟机内存配置