当前位置: 首页 > article >正文

MarsCode青训营打卡Day11(2025年1月24日)|稀土掘金-373.字母出现次数的统计

资源引用:

373.字母出现次数的统计

今日小记:

感冒生病,多休息。

稀土掘金-373.字母出现次数的统计(373.字母出现次数的统计)

题目分析:

给定一个由小写字母组成的字符串s,请找出有多少个小写字母在字符串中至少出现了k次。

解题思路:

显然,遍历s,用Map记录每个小写字母及其出现次数,最终遍历该Map,找出value大于等于k的键值对的数量。

import java.util.Map;
import java.util.HashMap;
public class Main {
    public static int solution(String s, int k) {
        int res = 0;
        Map<Character, Integer> map = new HashMap<>();    
        /*1.遍历s,用Map记录每个小写字母及其出现次数 */ 
        for (int i = 0; i < s.length(); i++) {
            map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
        } 
        /*2.遍历该Map,找出value大于等于k的键值对的数量 */
        for (char character : map.keySet()) {
            if (map.get(character) >= k) res++;
        }
        return res;
    }

    public static void main(String[] args) {
        System.out.println(solution("aaabcd", 2) == 1);
        System.out.println(solution("aacbcbdefghijklmnopqrstuvwxyz", 1) == 26);
        System.out.println(solution("zzzzzzabc", 3) == 1);
    }
}

http://www.kler.cn/a/518602.html

相关文章:

  • tmp记录
  • 使用 Tailwind CSS + PostCSS 实现响应式和可定制化的前端设计
  • “AI教学实训系统:打造未来教育的超级引擎
  • 基于 Android 的日程管理系统的设计与实现
  • Android AOP:aspectjx
  • Vue3组件重构实战:从Geeker-Admin拆解DataTable的最佳实践
  • 【OpenGL】OpenGL游戏案例(一)
  • Leetcode-两数之和
  • 【第六天】零基础入门刷题Python-算法篇-数据结构与算法的介绍-一种常见的贪心算法(持续更新)
  • flutter跨端UI框架简介
  • 简识JVM中的STW
  • 【二叉树】4. 判断一颗二叉树是否是平衡二叉树。5. 对称二叉树。6. 二叉树的构建及遍历 7. 二叉树的分层遍历 。
  • 使用 .NET Core 6.0 Web API 上传单个和多个文件
  • 12、MySQL锁相关知识
  • 分布式系统架构怎么搭建?
  • Flutter_学习记录_导航和其他
  • 小程序电商运营内容真实性增强策略及开源链动2+1模式AI智能名片S2B2C商城系统源码的应用探索
  • Linux之NetLink学习笔记
  • docker Ubuntu实战
  • 计算机图形学:实验四 带纹理的OBJ文件读取和显示
  • vue3自定义表格生成动态列
  • linux系统中的 scp的使用方法
  • 【面试题】 Java 三年工作经验(2025)
  • 2025美赛数学建模C题 奥运奖牌模型保姆级教程讲解|模型讲解
  • 为AI聊天工具添加一个知识系统 之68 详细设计 之9 三种中台和时间度量 之1
  • SpringBoot打包为JAR包或WAR 包,这两种打包方式在运行时端口将如何采用?又有什么不同?这篇文章将给你解惑