zoukankan      html  css  js  c++  java
  • 查找不在数组里的字母

    题目:有一个数组包括 非常多字母,怎样查找 26 个字母 不在 里面的字母

                eg: {a,b,c,c,c,c} 那么就是 d - z

    算法思路:维护一个 整形数组 相应 字母数组的 asci 码, 查找 字母数组,假设某字母出现一次,相应的 整形数组 就 + 1。最后,整形 数组为 0 的,就是没出现的。

    C#代码实现例如以下:

                //1. 1+'a' 会得到一个数字
                //2. 为了使 算法更完好,增加一个 计数,假设 26 个字母都找到了,就不须要在找了
    
                char[] chArr = new char[] { 'a', 'b', 'c', 'd', 'e', 'g', 'k', 'k', 'l', 'l', 'z' };
                int[] intArr = new int[26];
                int num = 26;
    
                for(int i = 0;i < chArr.Length;i++)
                {
                    if (intArr[chArr[i] - 'a'] == 0 && num > 0)
                    {
                        intArr[chArr[i] - 'a']++;
                        num--;
                    }
                }
    
                for (int i = 0; i < intArr.Length;i++ )
                {
                    if (intArr[i] == 0)
                        Console.WriteLine(Convert.ToChar(i + 'a'));
                }

    这仅仅是本人的想法和实现,假设有其他意见的,欢迎提出讨论。


  • 相关阅读:
    性能测试用例设计
    jmeter压测
    jmeter
    fiddle--APP弱网测试
    性能测试流程
    性能测试--响应时间
    性能测试--吞吐量
    性能测试--最佳/最大用户数,举个栗子
    性能测试--并发用户
    QT中QMainWindow、QWidget、QDialog
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5355992.html
Copyright © 2011-2022 走看看