摘要: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 算法思路: 将数组分成子数组,使左右数组均有序、如果左数组中一元素大于右数组某一元素,说明左数组其余元素都大于右数组的当前元素,此时产生左数组剩下元素数量的逆序对。 当左数组 阅读全文
posted @ 2020-07-10 16:37 硬盘红了 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 在一个数组中,每一个数左边的数比当前数小的累加起来,叫做这个数组的小和 举例: [1,3,4,2,5]1左边比1小的数:没有3左边比3小的数:14左边比4小的数:1,32左边比2小的数:15左边比5小的数:1,3,4,2所以小和为1+1+3+1+1+3+4+2=16 解题思路:分治思想、归并 将一个 阅读全文
posted @ 2020-07-10 16:01 硬盘红了 阅读(260) 评论(0) 推荐(0) 编辑
摘要: import java.util.Scanner; /* 输入整型数组和排序标识,对其元素按照升序或降序进行排序 int iSortFlag:排序标识:0表示按升序,1表示按降序 */ public class Homework_1 { static int flag; public static 阅读全文
posted @ 2020-07-10 10:43 硬盘红了 阅读(250) 评论(0) 推荐(0) 编辑
摘要: public class MergeSort { public static void mergeSort(int[] arr) { //排序算法边界判断 if (arr == null || arr.length < 2) { return; } process(arr, 0, arr.lengt 阅读全文
posted @ 2020-07-10 10:41 硬盘红了 阅读(123) 评论(0) 推荐(0) 编辑