为了账号安全,请及时绑定邮箱和手机立即绑定

如何得到一个INT类型数组中出现次数最多的元素?如何得到一个INT数组中任何两个差的值最大的数?

/ 猿问

如何得到一个INT类型数组中出现次数最多的元素?如何得到一个INT数组中任何两个差的值最大的数?

跃然一笑 2018-12-07 03:15:07

如何得到一个INT类型数组中出现次数最多的数?如何得到一个INT数组中任何两个差的值最大的数?

要求不能使用库函数,通过编程来实现

查看完整描述

3 回答

?
慕妹3242003

以前做过的一个类似思路,可以参考:

http://www.cnblogs.com/downmoon/archive/2009/09/18/1569649.html

查看完整回答
反对 回复 2019-01-21
?
缥缈止盈

据知没有库函数可以实现,只能遍历穷举实现。

查看完整回答
反对 回复 2019-01-21
?
慕虎7371278

using System;using System.Collections.Generic;

using System.Linq;

 

namespace ArraryMaxElement

{

    class Program

    {

        static void Main(string[] args)

        {

            int[] intArrary = new int[] { 1, 2, 3, 4, 32, 12, 3, 2, 5, 8, 5, 3, 8, 5, 9, 0, 2, 4, 4, 5, 3, 2, 1 };

            Dictionary<int, int> intDic = new Dictionary<int, int>();

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

            {

                if (!intDic.ContainsKey(intArrary[i]))

                {

                    intDic.Add(intArrary[i], 1);

                }

                else

                {

                    intDic[intArrary[i]] = intDic[intArrary[i]] + 1;

                }

            }

            string mostObjects = "";

            foreach (KeyValuePair<int, int> kvp in intDic)

            {

                if (kvp.Value == intDic.Values.Max())

                {

                    mostObjects += "[" + kvp.Key.ToString() + "] ";

                }

            }

            Console.WriteLine("数组中出现次数最多的元素有{0},出现次数均为{1}", mostObjects, intDic.Values.Max());

            Console.ReadKey();

        }

    }

}

查看完整回答
反对 回复 2019-01-21
  • 3 回答
  • 0 关注
  • 128 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信