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;
    }
}
  • 总结:题目还是比较简单的,就是利用哈希找到最大的值就好了。
相关推荐
jinxinyuuuus4 分钟前
快手在线去水印:短链解析、API逆向与视频流的元数据重构
前端·人工智能·算法·重构
BD_Marathon9 分钟前
【JavaWeb】Tomcat_WebAPP的标准结构
java·tomcat·web app
Flash.kkl9 分钟前
优先算法专题十五——BFS_FloodFill
算法·宽度优先
小雨下雨的雨14 分钟前
第8篇:Redis缓存设计与缓存问题
java·redis·缓存
高洁0116 分钟前
向量数据库拥抱大模型
python·深度学习·算法·机器学习·transformer
慕容青峰19 分钟前
牛客小白月赛 103 C 题题解
c++·算法·sublime text
小龙报19 分钟前
【算法通关指南:算法基础篇(四)】二维差分专题:1.【模板】差分 2.地毯
c语言·数据结构·c++·深度学习·神经网络·算法·自然语言处理
立志成为大牛的小牛21 分钟前
数据结构——五十八、希尔排序(Shell Sort)(王道408)
数据结构·学习·程序人生·考研·算法·排序算法
代码游侠27 分钟前
学习笔记——文件I/O
linux·数据库·笔记·学习·算法