华为OD机试真题-最长子字符串的长度(一)-2023年OD统一考试(C卷)---Python3--开源

news2024/10/3 10:35:16

题目:
在这里插入图片描述

考察内容:
思路转化:求出o字母出现偶次(o的索引);环形–双倍字母;
方法1:循环变量双倍字母(保证环线),记录最大偶次,如果是,则记录left和并替换left位置,并添加子字符串;
方法2:直接求出双倍字母的索引,根据最大偶次,循环遍历索引求出子字符串。
代码:

"""
analyze:
环形如何实现:
偶次(0也包括)
aloloboalolobo-- alolob;loboal;boalol; alolob

input:
小写字母字符串

output:
int, o字母出现偶数次
eg:
alolobo
6

looxdolx
7
way:
把所有还有两个0的子字符串求出来

根据o的索引获取(先求出最大偶数)

"""

# s_temp = input()
#
# if "o" not in s_temp:
#     print(len(s_temp))
# else:
#     o_res = 0
#     temp_list = list()
#     o_num = s_temp.count("o")
#     # 取最大偶数
#     if o_num % 2 != 0:
#         o_num = o_num - 1
#     # print(o_num)
#     double_s = s_temp*2
#     left, right = 0, 0
#     o_index = 0
#     for i in range(len(double_s)):
#         if double_s[i] == "o":
#             o_res += 1
#             if o_res <= o_num:
#                 pass
#                 # right += 1
#             else:
#                 if double_s[left:i] not in temp_list:
#                     temp_list.append(double_s[left:i])
#                 left = double_s.find("o", o_index) + 1
#                 o_index = left
#                 # right += 1
#                 o_res = 2
#         elif o_res <= o_num:
#             pass
#             # right += 1
#     max_str = 0
#     for temp in temp_list:
#         max_str = max(0, len(temp))
#     print(temp_list, max_str)

# 优化
# s_temp = input()
#
# if "o" not in s_temp:
#     print(len(s_temp))
# else:
#     o_res = 0
#     temp_list = list()
#     o_num = s_temp.count("o")
#     # 取最大偶数
#     if o_num % 2 != 0:
#         o_num = o_num - 1
#     double_s = s_temp * 2
#     left, right = 0, 0
#     o_index = 0
#     for i in range(len(double_s)):
#         if double_s[i] == "o":
#             o_res += 1
#             if o_res > o_num:
#                 if double_s[left:i] not in temp_list:
#                     temp_list.append(double_s[left:i])
#                 # 获取o的索引
#                 left = double_s.find("o", o_index) + 1
#                 o_index = left
#                 o_res = 2
#     max_str = 0
#     for temp in temp_list:
#         max_str = max(0, len(temp))
#     print(temp_list, max_str)

# 方法根据o的索引获取

s_temp = input()

if "o" not in s_temp:
    print(len(s_temp))
else:
    o_res = 0
    temp_index_list = list()
    o_num = s_temp.count("o")
    o_index = 0
    double_s = s_temp * 2
    print(double_s)
    for i in range(o_num*2):
        index = double_s.find("o", o_index)
        o_index = index + 1
        temp_index_list.append(index)
    print(temp_index_list)
    # 取最大偶数
    if o_num % 2 != 0:
        o_num = o_num - 1
    res = list()
    left, right = 0, 0
    for i in range(len(temp_index_list)):
        if i+o_num < len(temp_index_list):
            res.append(double_s[left:temp_index_list[i+o_num]])
            # print(double_s[left:temp_index_list[i+2]])
            left = temp_index_list[i]+1
    print(res)










本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1471646.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue2和vue3 setup beforecreate create生命周期时间比较

创建一个vue程序&#xff0c;vue3可以兼容Vue2的写法&#xff0c;很流畅完全没问题 写了一个vue3组件 <template><div></div> </template><script lang"ts"> import {onMounted} from vue export default{data(){return {}},beforeCr…

Python接口自动化测试 —— unittest批量用例管理!

我们日常项目中的接口测试案例肯定不止一个&#xff0c;当案例越来越多时我们如何管理这些批量案例&#xff1f;如何保证案例不重复&#xff1f;如果案例非常多&#xff08;成百上千&#xff0c;甚至更多&#xff09;时如何保证案例执行的效率&#xff1f;如何做&#xff08;批…

飞天使-k8s知识点22-kubernetes实操7-ingress

文章目录 ingress环境准备准备service和pod验证效果 https 代理效果 ingress 在 Kubernetes 中&#xff0c;Ingress 是一种 API 对象&#xff0c;它管理外部访问集群内部服务的规则。你可以将其视为一个入口&#xff0c;它可以将来自集群外部的 HTTP 和 HTTPS 路由到集群内部的…

高分SCI绘图必备!你必须要学会的18种Matlab绘图代码与20个绘图技巧(附完整代码)

目录 绘图技巧篇 绘图代码篇 免费完整代码获取​ 今天为大家带来一期18种Matlab绘图代码与20个绘图技巧代码&#xff0c;所有代码完全免费&#xff01; 如果你想发SCI&#xff0c;普通的图已经进入不了审稿人的视线了&#xff0c;非常容易被拒稿。试想&#xff0c;如果一篇…

探寻2024国际生物发酵展览会-水木清研生态环保

参展企业介绍 水木清研生态环保(山东)有限公司是恶臭异味废气治理领域的高新技术企业&#xff0c;提供集研发、设计、制造、技术支持与服务、工程、售后、运维于一体的异味废气治理整体解决方案&#xff0c;公司是复旦大学环境科学研究所科研转化基地&#xff0c;并与中国环保…

Vue前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存

MQ功能实现的具体代码&#xff1a; import { v4 as uuidx } from uuid;import emitter from /utils/mittclass Message {// 过期时间&#xff0c;0表示马上就消费exp: number;// 消费标识&#xff0c;避免重复消费tag : string;// 消息体body : any;constructor( exp: number …

OD(10)之Mermaid甘特图(Gantt diagrams)使用详解.md

OD(8)之Mermaid甘特图(Gantt diagrams)使用详解 Author: Once Day Date: 2024年2月24日 漫漫长路才刚刚开始… 全系列文章可参考专栏: Mermiad使用指南_Once_day的博客-CSDN博客 参考文章: 关于 Mermaid | Mermaid 中文网 (nodejs.cn)Mermaid | Diagramming and charting …

Qt QWidget 简约美观的加载动画 第四季

&#x1f60a; 第四季来啦 &#x1f60a; 效果如下: 只有三个文件,可以直接编译运行的 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QVBoxLayout> #include <QGridLayout> int main(int argc, char *argv[]) …

【其他】简易代码项目记录

1. KeypointDetection 1.1. CharPointDetection 识别字符中的俩个关键点。 1.2. Facial-keypoints-detection 用于检测人脸的68个关键点示例。 1.3. Hourglass-facekeypoints 使用基于论文Hourglass 的模型实现人体关键点检测。 1.4. Realtime-Action-Recognition containing:…

AI 绘画:人工智能绘画之美

人工智能&#xff08;AI&#xff09;是当今科技领域的热门话题&#xff0c;它不仅可以帮助我们解决各种复杂的问题&#xff0c;还可以创造出令人惊叹的艺术作品。AI 绘画是一种利用 AI 技术生成图像的方法&#xff0c;它可以模仿不同的风格、主题和技巧&#xff0c;甚至可以创造…

2023年5个最好的向量数据库

向量数据库全景图 图5:向量数据库全景图 在人工智能&#xff08;AI&#xff09;领域&#xff0c;庞大的数据量需要高效处理和加工。随着我们深入研究更先进的AI应用&#xff0c;如图像识别、语音搜索或推荐引擎&#xff0c;数据的性质变得更加复杂。这就是向量数据库发挥作用的…

编码后的字符串lua

-- 长字符串 local long_string "你好你好你好你好你好你好你好你好" local encoded_string "" for i 1, #long_string do local char_code string.byte (long_string, i) encoded_string encoded_string .. char_code .. "," end encoded_…

光学3D表面轮廓仪微纳米三维形貌一键测量

光学3D表面轮廓仪(白光干涉仪)利用白光干涉原理&#xff0c;以0.1nm分辨率精准捕捉物体的表面细节&#xff0c;实现三维显微成像测量&#xff0c;被广泛应用于材料学领域的研究和应用。 了解工作原理与技术 材料学领域中的光学3D表面轮廓仪&#xff0c;也被称为白光干涉仪&am…

一周学会Django5 Python Web开发-Django5路由重定向

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

基于深度学习的人脸表情识别系统(含UI界面、yolov8、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov8 yolov8主要包含以下几种创新&#xff1a;         1. 可以任意更换主干结构&#xff0c;支持几百种网络主干。 数据集&#xff1a;     fer2013数据集&#xff0…

免费享受企业级安全:雷池社区版WAF,高效专业的Web安全的方案

网站安全成为了每个企业及个人不可忽视的重要议题。 随着网络攻击手段日益狡猾和复杂&#xff0c;选择一个强大的安全防护平台变得尤为关键。 推荐的雷池社区版——一个为网站提供全面安全防护解决方案的平台&#xff0c;它不仅具备高效的安全防护能力&#xff0c;还让网站安…

【Python从入门到进阶】49、当当网Scrapy项目实战(二)

接上篇《48、当当网Scrapy项目实战&#xff08;一&#xff09;》 上一篇我们正式开启了一个Scrapy爬虫项目的实战&#xff0c;对当当网进行剖析和抓取。本篇我们继续编写该当当网的项目&#xff0c;讲解刚刚编写的Spider与item之间的关系&#xff0c;以及如何使用item&#xff…

Stable Diffusion 3内测申请~~~快冲鸭~~~~~

Stability AI 将其更改为 Stable Diffusion 3。VentureBeat 报道称&#xff0c;Stability AI 的下一代旗舰 AI 图像生成模型将使用类似于 OpenAI 的 Sora 的扩散变压器框架。其当前模型仅依赖于扩散架构。虽然尚未发布&#xff0c;但您可以在等候名单中注册。 以下内容机翻&am…

matlab悬臂梁有限元分析

1、内容简介 略 47-可以交流、咨询、答疑 2、内容说明 略 建模说明 设计一个长方体的悬臂梁&#xff0c;长宽高分别为100m、10m和15m&#xff0c;材料特性为杨氏模量2e5&#xff0c;泊松比0.3&#xff0c; Matlab有限元分析&#xff08;截图&#xff09; 上图为悬臂梁的扰度…

2023年Q4 Coremail管理员社区季刊发布

2023年Q4季刊新鲜出炉&#xff0c;本期内容涵盖了Coremail管理员社区Q4征稿活动、社区热门内容以及直播活动的总结。 本文为2023年Q4 Coremail管理员社区季刊精彩内容的节选&#xff0c;完整内容请上Coremail管理员社区进行查看。 1、Coremail管理员社区季刊介绍 2023 年4月&a…