LeetCode——3137. K周期字符串需要的最少操作次数

通过万岁!!!

  • 题目:给你一个字符串word还有一个数字k,然后让你将字符串变成k周期的字符串。k周期就是让字符串可以拆分成word/k个字符串,然后这个写字符串都相同。然后问你最少要变化多少次。
  • 思路:其实我们只需要找出word中拆分成k分以后,哪个字符串站的最多。我们就让这个字符串是一个周期就好了。所以只需要以k的步长遍历字符串,然后统计字符串中出现次数最多的是多少次,记为max。那么最后要变化的次数就是word/k-max就是最后结果。
  • 思路:哈希

java代码

java 复制代码
class Solution {
    public int minimumOperationsToMakeKPeriodic(String word, int k) {
        Map<String, Integer> countMap = new HashMap<>();
        int max = 0;
        for (int i = 0; i < word.length() / k; i++) {
            String wordK = word.substring(i * k, (i + 1) * k);
            Integer count = countMap.getOrDefault(wordK, 0) + 1;
            countMap.put(wordK, count);
            max = Math.max(max, count);
        }
        return word.length() / k - max;
    }
}
  • 总结:题目还是比较简单的,就是利用哈希找到最大的值就好了。
相关推荐
2401_894915537 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
1000世界小札8 小时前
《大话数据结构》第9章精读:归并排序与快速排序完整 C++ 实现
数据结构·c++·算法
2601_9561219711 小时前
背包基础篇(01、完全、分组、多重、混合)
c++·算法·动态规划
Java牛马11 小时前
SpringBoot Starter 依赖相关总结
java·spring·springboot·starter·自动装配·依赖
吴声子夜歌11 小时前
Java面试——Spring Cloud原理及应用(二)
java·spring cloud·面试
东小西12 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring
兴通物联科技12 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
mqiqe12 小时前
AgentScope Java 2.0 协议集成全景解析:A2A、AG-UI、Agent Protocol 三大开放协议实战指南
java·开发语言·ui
脉动数据行情12 小时前
Java 实现台股 TWSE/TPEx 行情采集(个股 + K 线)
java·开发语言·twse·tpex·台股