n**d 发帖数: 112 | 1 要求是输入n个数 利用归并排序(MergeSort)来排序 同时计算元素的重复次数(重复的
只保留一个)
例子:
输入
8
1
1
1
2
2
5
2
1
输出就是
3
1 4
2 3
5 1
8和3是输入输出数组的个数,输出的4 3 1是重复个数
老师给了个提示:
Their programs should associate a multiplicity of 1 with each of the input
values.
When performing a merge, they will have to explicitly check for the ==
condition
between the current values for the two sequences. When this condition
occurs,
the value is copied to the merged sequence and the associated multiplicity
is the sum of the multiplicities.
(我写了个程序 先合并重复的 | n**d 发帖数: 112 | 2 我找的mergesort的例子:
import java.util.Scanner;
public class MergeSort
{
public int[] sort(int[] data)
{
int[] temp=new int[data.length];
mergeSort(data,temp,0,data.length-1);
return data;
}
private void mergeSort(int[] data,int[] temp,int l,int r)
{
int mid=(l+r)/2;
if(l==r) return ;
mergeSort(data,temp,l,mid);
mergeSort(data,temp,mid+1,r);
for(int i=l;i<=r;i++)
| g**e 发帖数: 6127 | 3 请不要把家庭作业拿到版上来问
【在 n**d 的大作中提到】 : 要求是输入n个数 利用归并排序(MergeSort)来排序 同时计算元素的重复次数(重复的 : 只保留一个) : 例子: : 输入 : 8 : 1 : 1 : 1 : 2 : 2
| A**o 发帖数: 1550 | 4 基本算法问题,去programming版吧。
【在 g**e 的大作中提到】 : 请不要把家庭作业拿到版上来问
| b***s 发帖数: 117 | 5 这个不是Java啊
我的感觉是,做一个structure,或者class
带两个int,一个是value,一个是occurance
【在 n**d 的大作中提到】 : 要求是输入n个数 利用归并排序(MergeSort)来排序 同时计算元素的重复次数(重复的 : 只保留一个) : 例子: : 输入 : 8 : 1 : 1 : 1 : 2 : 2
|
|