华为OD-第K长的连续字母字符串长度

news/2024/7/20 18:51:22 标签: 华为od, python, 华为机试, 算法

 题目描述

给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。

代码实现

python"># coding:utf-8
# 第K长的连续字母字符串长度
# https://www.nowcoder.com/discuss/353150502185672704?sourceSSR=search

class Solution:
    def maxContinuousStr(self, s):
        res = dict()
        count = 1
        for i in range(len(s) - 1):
            if s[i] == s[i + 1]:
                count += 1
            else:
                if s[i] in res:
                    res[s[i]] = max(res[s[i]], count)
                else:
                    res[s[i]] = count
                count = 1
        ret = sorted(res.items(), key=(lambda x: x[1]), reverse=True)
        return ret[k-1][1]


if __name__ == '__main__':
    s = input("input S:").split(' ')[0]
    k = int(input('input K :').split(' ')[0])
    solution = Solution()
    print(solution.maxContinuousStr(s))


http://www.niftyadmin.cn/n/4964132.html

相关文章

FATE框架中pipline基础教程

目录 1. 用pipline上传数据2. 用 Pipeline 进行 Hetero SecureBoost 的训练和预测3. 用 Pipeline 构建神经网络模型3.1 Homo-NN Quick Start: A Binary Classification Task3.2 Hetero-NN Quick Start: A Binary Classification Task 4. 自定义数据集示例:实现一个简…

前端面试:【浏览器与渲染引擎】Web APIs - DOM、XHR、Fetch、Canvas

嗨,亲爱的读者!当我们在浏览器中浏览网页时,我们常常会与各种Web API打交道。这些API允许我们与网页内容、服务器资源和图形进行交互。本文将深入探讨一些常见的Web API,包括DOM、XHR、Fetch和Canvas,以帮助你了解它们…

智能主体的工作原理

智能主体的一切行为是受任务驱使的,以任务表的形式来表示,初始由 用户静态建立,然后通过通信而动态地改变。任务表只是指明智能主体必须做的 事,并不是怎样做。任务的实现由效应器与其他智能主体合作的形式来完成。 感知器表示…

ansible-playbook yml 查看目录大小

yml - name: 查看目录大小hosts: your_hoststasks:- name: 运行 du 命令获取目录大小command: du -sh /目录1 /目录2register: command_result- name: 格式化目录大小输出debug:msg: "目录大小为 {{ item.split(\t)[0] }}"loop: "{{ command_result.stdout_lin…

机器视觉学习三大忌-贪多,贪杂​,贪快

​很多年前,我刚做机器视觉工程师的时候,我师傅第一件事和我说,不要学多,不要学那么多,不要以为会了,就怠慢以后的学习,学习是一生的事情,不是一时的事情。我牢牢记住我师傅的话。 …

GPT生产实践之定制化翻译

GPT生产实践之定制化翻译 GPT除了能用来聊天以外,其实功能非常强大,但是我们如何把它运用到生产实践中去,为公司带来价值呢?下面一个使用案例–使用gpt做专业领域定制化翻译 思路: 定制化:有些公司词条的…

redis在linux和windows上的安装配置(解决问题:没有可用软件包 redis)

linux系统 安装 yum install redis安装 在终端输入yum install redis安装。 报错:没有可用软件包 redis。 解决: 运行以下命令更新软件包信息: sudo yum clean all sudo yum update 然后继续尝试yum install redis。 如果还不成功&a…

学习笔记|认识数码管|控制原理|数码管实现0-9的显示|段码跟位码|STC32G单片机视频开发教程(冲哥)|第九集:数码管静态显示

文章目录 1.认识数码管2.控制原理十进制转换为任意进制其它进制转十进制 3.数码管实现0-9的显示1.用数组定义0-9的内码段码跟位码的区别2.尝试用延时实现0-9的循环显示3.用按键控制数字的加或者减。 总结课后练习: 1.认识数码管 数码管按段数可分为七段数码管和八段…