您的当前位置:首页正文

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

2020-09-05 来源:九壹网


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

作者:亦心 来源:博客园 发布时间: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}\ }

//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; }

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