zoukankan      html  css  js  c++  java
  • 1189. “气球” 的最大数量『简单』

    题目来源于力扣(LeetCode

    一、题目

    1189. “气球” 的最大数量

    题目相关标签:哈希表、字符串

    提示:

    • 1 <= text.length <= 10^4
    • text 全部由小写英文字母组成

    二、解题思路

    1. 遍历 text 字符串转换成的字符数组

    2. 通过哈希数组记录下 text 字符串中各元素出现的次数(数组索引为字符元素,值为元素在字符串中出现的次数)

    3. 在哈希数组中计算出字符 b、a、l、o、n 各出现的次数

      其中 lo 需要出现两次才能组成 balloon

    4. 结果为 b、a、l、o、n 字符中出现次数最小的

    三、代码实现

    public static int maxNumberOfBalloons(String text) {
            int[] letters = new int[26];
            char[] arr = text.toCharArray();
            for (char i : arr) {
                letters[i - 'a']++;
            }
            int res = text.length();
    
            letters['l' - 'a'] /= 2;  // l 字符需要出现2次,才能组成单词
            letters['o' - 'a'] /= 2;  // o 字符需要出现2次,才能组成单词
    
            for (char i : "balon".toCharArray()) {
                // b a l o n 字符任一为零时,res 也为 0
                res = Math.min(letters[i - 'a'], res);
            }
            return res;
        }
    

    四、执行用时

    五、部分测试用例

    public static void main(String[] args) {
        String text = "nlaebolko";  // output: 1
    //    String text = "loonbalxballpoon";  // output: 2
    //    String text = "leetcode";  // output: 0
    
        int result = maxNumberOfBalloons(text);
        System.out.println(result);
    }
    
  • 相关阅读:
    架构基础-CAP原理
    Nginx基础
    Nginx基础
    Nginx基础
    Nginx基础
    Nginx基础
    Nginx基础
    Nginx基础
    CentOS 7 架设LNMP动态网站
    Linux下文件描述符
  • 原文地址:https://www.cnblogs.com/zhiyin1209/p/13173460.html
Copyright © 2011-2022 走看看