• 算法基础系列之二:随机数及重复字符统计


    //程序一定有些不好、不对的地方,还请大大们一定告诉我

    //1.如何按随机顺序输出11010个数,这是我一次面试时人家问的?

    static void Main(string[] args)

    {

        int[] intArray = new int[10];

        for (int i = 0; i < 10; i++)

        {

            intArray[i] = i + 1;

        }

     

        Random r = new Random();

        for (int i = 9; i >= 0; i--)

        {

            int index = r.Next(i+1);

            Console.WriteLine(intArray[index].ToString());

            if (index != i)

            {

                intArray[index] = intArray[i];

            }

        }

     }

     

     

    //2.统计字符串中重复次数最多的字符

    //方法一:

    static void CountRepeat(string s)

    {

        List<char> list = new List<char>();

        list.AddRange(s.ToCharArray());

        list.Sort();

     

        char c = list[0];

        int temp = 1;

        char maxChar = ' ';

        int maxCount = 0;

     

        for (int i = 1; i < list.Count; i++)

        {

            if (list[i] == c)

            {

                temp++;

            }

     

            if (list[i] != c || i == list.Count - 1)

            {

                if (temp > maxCount)

                {

                    maxCount = temp;

                    maxChar = c;

                }

                temp = 1;

            }

            c = list[i];

        }

        Console.WriteLine(maxChar.ToString() + "  " + maxCount.ToString());

     

    }

     

    //方法二:

    static void CountRepeat(string s)

    {

        Dictionary<char, int> dict = new Dictionary<char, int>();

        char maxChar = Char.MinValue;

        int maxCount = 0;

     

        foreach (char c in s)

        {

            if (dict.ContainsKey(c))

            {

                dict[c]++;

            }

            else

            {

                dict.Add(c, 1);

            }

        }

        foreach (KeyValuePair<char, int> kvp in dict)

        {

            if (kvp.Value > maxCount)

            {

                maxCount = kvp.Value;

                maxChar = kvp.Key;

            }

        }

        Console.WriteLine(maxChar.ToString() + "  " + maxCount.ToString());

    }

  • 相关阅读:
    PHP用户注册邮箱验证激活帐号
    利用openssl进行RSA加密解密
    RSA算法使用介绍
    JS七种加密解密方法
    JS调用PHP 和 PHP调用JS的方法举例
    php注册登录时生成的验证码
    Joomla!网站扫描工具joomscan
    Xamarin XAML语言教程控件模板的模板绑定
    Xamarin.Forms使用Slider注意问题
    ASP.net 资源请求漏洞利用工具PadBuster
  • 原文地址:https://www.cnblogs.com/morvenhuang/p/499417.html
Copyright © 2020-2023  润新知