博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 493. Reverse Pairs
阅读量:5237 次
发布时间:2019-06-14

本文共 1425 字,大约阅读时间需要 4 分钟。

  一道归并排序求逆序对的变体题。需要注意的是输入数据乘以2后可能超出int范围。

  AC代码如下:

1 class Solution { 2     vector
merge(vector
a1, vector
a2, int& sum) 3 { 4 vector
merged; 5 int p1 = 0, p2 = 0; 6 for (int i = 0,j=0; i
2*(long long)a2[j];j++); 9 sum+=j;10 }11 while (p1 != a1.size() && p2 != a2.size())12 {13 if (a1[p1]>a2[p2])14 {15 merged.push_back(a2[p2]);16 p2++;17 }18 else19 {20 merged.push_back(a1[p1]);21 p1++;22 }23 }24 while (p1 != a1.size())25 {26 merged.push_back(a1[p1]);27 p1++;28 }29 while (p2 != a2.size())30 {31 merged.push_back(a2[p2]);32 p2++;33 }34 return merged;35 }36 37 int mergeSort(vector
& nums, int l, int r)38 {39 int sum = 0;40 if (l + 1 >= r)41 {42 return 0;43 }44 else45 {46 int m = (l + r) / 2;47 sum += mergeSort(nums, l, m);48 sum += mergeSort(nums, m, r);49 vector
vl, vr, merged;50 for (int i = l; i
& nums) {69 return mergeSort(nums, 0, nums.size());70 }71 };
View Code

  leetcode是个练白板编程的好地方(

转载于:https://www.cnblogs.com/Algorithm-X/p/7851462.html

你可能感兴趣的文章
oracle下对EAS备份账套进行还原操作的记录
查看>>
【LeetCode】Search in Rotated Sorted Array——旋转有序数列找目标值
查看>>
MySQL数据库分页查询,Oracle数据库分页查询,SqlServer数据库分页
查看>>
Python re模块
查看>>
Docker Macvlan 介绍 or 工作原理
查看>>
java接口
查看>>
Struts2学习笔记01 之 简介及配置
查看>>
java中数组常见的操作
查看>>
如何用jQuery做一个表格组件
查看>>
递归函数recursion
查看>>
eclipse实用快捷键
查看>>
hadoop 2.6 centos 7.1 下的一些操作
查看>>
返回一个二维整数数组中最大联通子数组的和
查看>>
C++ GUI Qt4学习笔记09
查看>>
commons-beanutils使用介绍
查看>>
hdu 2603 过山车 最大匹配,匈牙利算法模板(易理解)
查看>>
如何修改可运行Jar包,如何反编译Jar包
查看>>
高级布局补充.过滤以及动画
查看>>
Tensorflow简单实践系列(二):张量
查看>>
[SCOI2008]着色方案
查看>>