zoukankan      html  css  js  c++  java
  • 查找一个字符串中重复次数最多的字符

    code:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    
    namespace AppTest
    {
        /// <summary>
        /// 
        /// </summary>
        class Program
        {
            #region method one
            //private static SortedDictionary<char, int> sd = new SortedDictionary<char, int>();
            //static void Main(string[] args)
            //{
            //    string str = "1232143546534135164161";
            //    foreach (char item in str)
            //    {
            //        Check(item);
            //    }
            //    char maxChar = Char.MinValue;
            //    int maxValue = 0;
            //    foreach (KeyValuePair<char,int> item in sd)
            //    {
            //        Console.WriteLine("Dictionary has a key :{0} and Value:{1}",item.Key,item.Value);
            //        if (item.Value > maxValue)
            //        {
            //            maxValue = item.Value;
            //            maxChar = item.Key;
            //        }
            //    }
            //    Console.WriteLine("Max char is {0},times is {1}.",maxChar,maxValue);
            //    Console.ReadLine();
            //}
            //private static void Check(char c)
            //{
            //    if (sd.ContainsKey(c))
            //    {
            //        sd[c]++;
            //    }
            //    else
            //    {
            //        sd.Add(c,1);
            //    }
            //}
            #endregion
    
            #region method two
            //static void Main(string[] args)
            //{
            //    List<char> list = new List<char>();
            //    string s = "1232143546534135164161 ";
            //    list.AddRange(s.ToCharArray());
            //    list.Sort();
            //    char c = ' ';
            //    int temp = 1;
            //    char maxChar = ' ';
            //    int maxCount = 0;
    
            //    for (int i = 0; i < list.Count; i++)
            //    {
            //        if (i > 0)
            //        {
            //            if (list[i] == c)
            //                temp++;
            //            else
            //            {
            //                temp = 1;
            //            }
            //        }
            //        if (temp > maxCount)
            //        {
            //            maxCount = temp;
            //            maxChar = list[i];
            //        }
            //        c = list[i];
            //    }
    
            //    Console.WriteLine("字符 "+maxChar.ToString() + " 具有 " +maxCount.ToString());
    
            //}
            #endregion
    
            #region method three
            //static void Main(string[] args)
            //{
            //    string ss = "1232143546534135164161";
            //    char[] c = ss.ToCharArray();
            //    ArrayList al1 = new ArrayList();
            //    ArrayList al2 = new ArrayList();
            //    int i = 0;
            //    int k = 0;
            //    foreach (char item in c)
            //    {
            //        if (!al1.Contains(item))
            //        {
            //            al1.Add(item);
            //            al2.Add(1);
            //        }
            //        else
            //        {
            //            al2.Insert(al1.IndexOf(item),Convert.ToInt32(al2[al1.IndexOf(item)].ToString()) + 1);
            //            al2.RemoveAt(al1.IndexOf(item) + 1);
            //        }
            //    }
    
            //    for (int j = 0; j < al2.Count; j++)
            //    {
            //       if(Convert.ToInt32(al2[j].ToString()) > i)
            //       {
            //           i = Convert.ToInt32(al2[j].ToString());
            //           k = j;
            //       }
            //    }
            //    string s = "字符 " + al1[k].ToString() + " 出现 " + i.ToString() + "次.";
            //    Console.WriteLine(string.Format(" {0}", s));
            //}
            #endregion
    
            #region method four
            static void Main(string[] args)
            {
                string s = "1232143546534135164161";
                StringBuilder sb = new StringBuilder(s);
                List<int> charCount = new List<int>();
                List<char> lchar = new List<char>();
    
                int i,j;
                i = 0; j = 1;
    
                while (sb.Length > 0 && i < sb.Length)
                {
                    charCount.Add(1);
                    lchar.Add(sb[0]);
                    while (sb.Length > 0 && j < sb.Length)
                    {
                        if (sb[0] == sb[j])
                        {
                            charCount[i]++;
                        }
                        j++;
                    }
                    sb.Replace(sb[0].ToString() ,"");
                    i++;
                    j = 1;
                }
    
                for (int k  = 0; k  < charCount.ToArray().Length; k ++)
                {
                    Console.WriteLine(string.Format("  {0,4} {1}  "  , lchar[k].ToString(), charCount[k]));
                }
                Console.ReadLine();
            }
     
            #endregion
        }
    }
    
    
  • 相关阅读:
    sql developer Oracle 数据库 用户对象下表及表结构的导入导出
    安装Win7和Office2010并激活
    Python内置方法的时间复杂度(转)
    服务框架Dubbo(转)
    ntpd和ntpdate
    ntpdate server时出错原因及解决
    什么才是程序员的核心竞争力
    使用DNSPod来处理网站的均衡负载(转)
    ubuntu设置服务开机启动
    Linux运行级别
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1780576.html
Copyright © 2011-2022 走看看