题目:在数组中如果两个数字的前面的数比后面的数大,则称为一对逆序对。输入一个数组求出数组中逆序对的总数。以空间换时间:思路:借助一个辅助数组,将原来的数组复制到该数组中。然后将该数组分成子数组,然后统计子数组中内部的逆序,然后再统计两个相连的子数组中的逆序对,这个过程用到了归并排序。时间复杂度为O(...
分类:
编程语言 时间:
2015-08-27 15:07:10
阅读次数:
141
题目
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对,输入一个数组,求出这个数组中的逆序对的总数。
例如:{7,5,6,4},一共存在5个逆序对,分别是(7,6)(7,5)(7,4)(6,4)和(5,4)
思路
本来是毫无思路的,一般习惯了暴力破解,剑指offer后面的归并排序的思想,让我想到归并排序是好多年前写过的(忘了......果然出来混总是要还...
分类:
编程语言 时间:
2015-08-18 12:11:06
阅读次数:
344
题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:归并排序的合并过程。主要是考虑合并两个有序序列时,计算逆序对数。对于两个升序序列,设置两个下标:两个有序序列的末尾。每次比较两个末尾值,如果前末尾大于后末尾值,则有...
分类:
编程语言 时间:
2015-08-13 17:28:49
阅读次数:
194
题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数
例如在数组{7,5,6,4}中,一共存在5对逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4}。
看到这个题目,我们的第一反应就是顺序扫描整个数组。每扫描到一个数组的时候,逐个比较该数字和它后面的数字的大小。如果后面的数字比它小,则这两个数字就组...
分类:
编程语言 时间:
2015-08-09 20:46:33
阅读次数:
650
题目描述
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。
解题思路
思路一:暴力搜索,一次判断每一个数,其之后的数有没有比它小的,若有则计数加一。时间O(n^2)
思路二:利用归并排序方法,在归并的时候,计算逆序对数目。具体过程看代码。 时间O(nlogn)
实现代码
...
分类:
编程语言 时间:
2015-07-31 13:09:58
阅读次数:
158
题目描述:http://ac.jobdu.com/problem.php?pid=1348
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。
如输入{7,5,6,4}中,共存在5个逆序对:(7,6) (7,5) (7,4) (6,4) (5,4)解析:直观思路是:从第一个数字开始,让它和后面的每个数字比较,找出所有逆序对...
分类:
编程语言 时间:
2015-07-29 12:18:00
阅读次数:
138
题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:1、顺序扫描顺序扫描整个数组,每扫描到一个数字,就将该数字跟后面的数字比较,如果大于的话,则这两个数字构成了逆序对。(比较简单,这里就不贴出代码)时间复杂度:O(n...
分类:
编程语言 时间:
2015-07-26 12:25:40
阅读次数:
156
这个题目如果没有限制你的时间复杂度,那么它的在O(n2) 里面完成的话, 那么就很简单 了。但是如果发求你在O(n)的时间复杂度里面完成。那么这还是有点挑战性的。题目的分析:对于逆序对的理解先看方法:如上面的所示,对于该算法以,我们首先将数组划分成一个一个的数字(为了排序),然后拆分成了两个己排好序...
分类:
编程语言 时间:
2015-07-17 20:56:09
阅读次数:
253
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。分析:利用归并排序的思想,分成2部分,每一部分按照从大到小排序,然后比较左侧的a[i]和右侧的b[j]若a[i]>b[j],那么a[j]大于b[j]~b[right],...
分类:
编程语言 时间:
2015-07-15 14:54:59
阅读次数:
114
题目1348:数组中的逆序对时间限制:1 秒内存限制:32 兆特殊判题:否提交:2572解决:606题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。输入:每个测试案例包括两行:第一行包含一个整数n,表示数组中的元素...
分类:
编程语言 时间:
2015-07-15 13:04:03
阅读次数:
161