zoukankan      html  css  js  c++  java
  • 算法基础系列之二:随机数及重复字符统计

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

    //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());

    }

  • 相关阅读:
    数据结构之fhq-treap
    [AtCoder Regular Contest 096 E] Everything on It 解题报告 (第二类斯特林数+容斥原理)
    指纹识别人脸识别 iOS
    HTTP协议的8种请求类型介绍
    获取已安装app的bundle id
    iOS生成Bundle包及使用
    为什么说Objective-C是一门动态的语言?
    引用外部静态库(.a文件)时或打包.a时,Category方法无法调用。崩溃
    代码混淆 iOS
    HDU 1695 GCD(莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/morvenhuang/p/499417.html
Copyright © 2011-2022 走看看