zoukankan      html  css  js  c++  java
  • 查找字符串中出现频率最高的字符和次数

    string str = @"dsssaa";
    
                var result1 = (from p in str.ToCharArray()
                          group p by p into gr
                          orderby gr.Count() descending
                          select new
                          {
                              CharKey = gr.Key,
                              CharCount = gr.Count()
                          }
                          ).FirstOrDefault();
    
                if (result1 != null)
                {
                    Console.WriteLine("CharKey:" + result1.CharKey.ToString());
                    Console.WriteLine("CharCount:" + result1.CharCount.ToString());
                }
               
    
                var result2 = str.ToCharArray().GroupBy(p=>p)
                    .OrderByDescending(p=>p.Count())
                    .Select(p=>new {CharKey=p.Key,CharCount=p.Count()})
                    .FirstOrDefault();
                if (result2 != null)
                {
                    Console.WriteLine("CharKey:" + result2.CharKey.ToString());
                    Console.WriteLine("CharCount:" + result2.CharCount.ToString());
                }
    
                Dictionary<char, int> dic = new Dictionary<char, int>();
                foreach (char ch in str.ToCharArray())
                {
                    if (dic.Keys.Contains(ch))
                    {
                        dic[ch]++;
                    }
                    else
                    {
                        dic.Add(ch, 1);
                    }
                }
    
                if (dic.Keys.Count > 0)
                {
                    char charKey = dic.First().Key;
                    int charCount = dic.First().Value;
                    foreach(var item in dic)
                    {
                        if (item.Value > charCount)
                        {
                            charKey = item.Key;
                            charCount = item.Value;
                        }
                    }
                    Console.WriteLine("CharKey:" + charKey.ToString());
                    Console.WriteLine("CharCount:" + charCount.ToString());
                }
  • 相关阅读:
    设计模式-装饰模式(Decorator Pattern)
    死锁分析与解决
    事务原理与开发
    SQL注入与防范
    数据库连接池
    JDBC基础知识
    算法复习
    计算机网络基础知识
    Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Faile
    手写算法
  • 原文地址:https://www.cnblogs.com/TeyGao/p/2745423.html
Copyright © 2011-2022 走看看