您的当前位置:首页正文

求两个元素之差的最大值和数组中出现次数最多的数

2023-11-13 来源:尚车旅游网


任意给定一整数数组,求两个元素之差的最大值和数组中出现次数最多的数

作者:亦心 来源:博客园 发布时间:2009-11-19 13:16 阅读:645 次 原文链

接 [收藏]

要求:不允许使用库函数及外部库,不允许使用现成的排序算法和哈希算法函数

1、两个元素之差的最大值

private static void GetMaxMin(int[] arrys)

{

//int[] arrys = new int[] { 3, 5, 1, 6, 9, 8, 4, 7, 2 };

int max = arrys[0];

int min = arrys[0];

for (int i = 0; i < arrys.Length; i++)

{

if (arrys[i] > max)

max = arrys[i];

if (arrys[i] < min)

min = arrys[i];

}

Console.WriteLine(\"Max为:{0},Min为{1},差为{2}\", max, min, max - min);

}

//2、数组中出现次数最多的数

///

/// 得到去重复的数组

///

///

///

private static int[] GetNewArry(int[] arrys)

{

for (int i = 0; i < arrys.Length; i++)

{

for (int j = i + 1; j < arrys.Length; j++)

{

if (arrys[i] == arrys[j])

arrys[i] = 0;

}

}

List list = new List();

for (int k = 0; k < arrys.Length; k++)

{

if (arrys[k] != 0)

list.Add(arrys[k]);

}

int[] arryNew = new int[list.Count];

for (int n = 0; n < list.Count; n++)

{

arryNew[n] = list[n];

}

return arryNew;

}

///

/// 得到出现最多次数的数

///

///

///

///

private static int GetMaxCountNum(int[] arrysOld, int[] arrysNew)

{

int count = GetMaxCount(arrysOld, arrysNew);

int tmp = 0;

for (int i = 0; i < arrysNew.Length; i++)

{

for (int j = 0; j < arrysOld.Length; j++)

{

if (arrysNew[i] == arrysOld[j])

{

tmp++;

}

}

if (count == tmp)

{

return arrysNew[i];

}

tmp = 0;

}

return 0;

}

///

/// 得到出现最多的次数

///

///

///

///

private static int GetMaxCount(int[] arrysOld, int[] arrysNew)

{

int maxCount = 0;

int count = 0;//次数

//int[] arrysCount = new int[arrysNew.Length];

for (int i = 0; i < arrysNew.Length; i++)

{

for (int j = 0; j < arrysOld.Length; j++)

{

if (arrysNew[i] == arrysOld[j])

{

count++;

}

}

//arrysCount[i] = count;

if (count > maxCount)

{

maxCount = count;

}

count = 0;

}

return maxCount;

}

///

/// 得到数组中的最大数

///

///

///

private static int GetMaxNum(int[] arrys)

{

int max = arrys[0];

for (int i = 0; i < arrys.Length; i++)

{

if (arrys[i] > max)

max = arrys[i];

}

return max;

}

///

/// 得到数组中零出现的次数

///

///

///

private static int GetMaxCountIsZero(int[] arrys)

{

int count = 0;

for (int i = 0; i < arrys.Length; i++)

{

if (arrys[i] == 0)

count++;

}

return count;

}

///

/// 克隆一个整型数组

///

///

///

private static int[] CloneArry(int[] arrys)

{

int[] arrysNew = new int[arrys.Length];

for (int i = 0; i < arrys.Length; i++)

{

arrysNew[i] = arrys[i];

}

return arrysNew;

}

因篇幅问题不能全部显示,请点此查看更多更全内容