最长子字符串的长度 (一) - 华为OD统一考试(C卷)

OD统一考试(C卷)

分值: 100分

题解: Java / Python / C++

alt

题目描述

给你一个字符串 s,字符串s首尾相连成一个环形,请你在环中找出字符出现了偶数次最长子字符串的长度。

输入描述

输入是一串小写字母组成的字符串

输出描述

输出是一个整数

示例1

输入
alolobo

输出
6

说明
最长子字符串之一是“alolob”,它包含'o'2个

示例2

输入
looxdox

输出
7

说明
最长子字符串是"oxdolxl",由于是首尾连接在一起的,所以最后一个'x'和开头的'l'是连接在一起的,此字符串包含2个o。

示例3

输入
bcbcbc

输出
6

说明
这个示例中,字符串“bcbcbc”本身就是最长的,因为o'都出现了0次

题解

这是一个字符串处理问题,需要找出一个环形字符串中字符出现偶数次最长子字符串的长度。

思路

  1. 首先统计字符串中字符’o’的出现次数。
  2. 如果字符’o’的出现次数是偶数,那么最长子字符串的长度就是整个字符串的长度。
  3. 如果字符’o’的出现次数是奇数,那么最长子字符串的长度就是整个字符串长度减1。

C++

#include <iostream>
using namespace std;

int main(){
    string s;
    cin >> s;
    int cnt = 0;
    for(char c : s) if(c == 'o') cnt++;

    int rs = (cnt % 2 == 0) ? s.length() : s.length() - 1;
    cout << rs << endl;
    return 0;
}

Java

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        int cnt = 0;
        for (char c : s.toCharArray()) if (c == 'o') cnt++;
        int rs = (cnt % 2 == 0) ? s.length() : s.length() - 1;
        System.out.println(rs);
    }
}

Python

from collections import Counter
s = input()
cnt = Counter(s)
print((len(s) if cnt['o'] % 2 == 0 else len(s) - 1))

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

玩转大数据14:分布式计算框架的选择与比较

1. 引言 随着大数据时代的到来&#xff0c;越来越多的企业和组织需要处理海量数据。分布式计算框架提供了一种有效的方式来解决大数据处理的问题。分布式计算框架将计算任务分解成多个子任务&#xff0c;并在多个节点上并行执行&#xff0c;从而提高计算效率。 2. 分布式计算…

低代码(low code)开发平台,我选JNPF

近年来&#xff0c;低代码开发技术正以迅猛的步伐崭露头角&#xff0c;成为数字化转型浪潮下的重要工具。据 Gartner 预测&#xff0c;到 2025 年&#xff0c;低代码技术将占据 70% 的新应用开发份额&#xff0c;引领着企业应用开发的新趋势。然而&#xff0c;随之而来的是市场…

传音荣获2023首届全国人工智能应用场景创新挑战赛“智能遥感专项赛”三等奖

11月26日&#xff0c;2023首届全国人工智能应用场景创新挑战赛“智能遥感专项赛”在北京圆满落幕。传音参赛项目《传音智慧应用平台产业化》凭借在技术攻关、社会效益和经济效益等多方面的突出优势荣获“智能遥感专项赛”三等奖。 本次竞赛以“场景驱动数智强国”为主题&#…

张正友相机标定法原理与实现

张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法。传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可…

智慧储能数字孪生,引领新能源革命

随着社会对清洁能源的需求不断增加&#xff0c;智能储能技术成为能源转型的关键驱动力。在这一领域中&#xff0c;数字孪生技术的应用为智慧储能带来了全新的可能性。数字孪生是指数字化、实时、可视化的模拟系统&#xff0c;通过复制现实世界中的对象或过程&#xff0c;为智能…

【多线程】Java中多线程的几种实现方式

多线程&#xff08;multithreading&#xff09;是指在一个程序中同时执行多个不同的线程&#xff08;thread&#xff09;&#xff0c;每个线程都是程序的一部分&#xff0c;是独立的执行路径。相比于单线程程序&#xff0c;多线程程序可以更充分地利用计算机的多核心或多处理器…

一拎即走的轻薄云台投影,极米投影仪Z7X解锁观影新姿势

近年来&#xff0c;随着投影技术的不断提高以及大屏幕带来的加倍快乐&#xff0c;让投影仪成为了一种新的观影潮流。尤其是“去客厅化”的大背景下&#xff0c;年轻人几乎将目光都投向了投影仪&#xff0c;从而实现在家就能享受大屏观影的效果和体验。那么备受当下年轻消费者青…

全套的外贸出口业务流程,赶紧收藏起来吧

很多做外贸的小伙伴入行遇到的第一个问题就是对外贸业务流程的不熟悉&#xff0c;今天小易给大家整理了一份外贸业务全流程&#xff0c;从开发客户到售后服务一整套流程&#xff0c;一起来看看吧&#xff01; 目前做外贸开发客户的渠道一般有以下几种&#xff1a; 1、自建站、外…

机器人运动控制:摩擦力矩补偿

问题描述 机器人运动控制中&#xff0c;摩擦力矩补偿是一个重要的环节。在机器人动力学模型中&#xff0c;重力和关节摩擦在低速运动时占主导因素&#xff0c;因此对机器人进行重力-摩擦补偿是机器人力控制中被广泛采用的方法。 库伦-粘滞摩擦模型是摩擦力辨识的常用方法&…

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Prometheus数据可视化监控

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…

视频剪辑转码:mp4批量转成wmv视频,高效转换格式

在视频编辑和处理的领域&#xff0c;转换格式是一项常见的任务。在某些编辑和发布工作中&#xff0c;可能需要使用WMV格式。提前将素材转换为WMV可以节省在编辑过程中的时间和精力。从MP4到WMV的批量转换&#xff0c;不仅能使视频素材在不同的平台和设备上得到更好的兼容性&…

基于ssm校园自助洗衣系统的分析与设计论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对校园洗衣信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差…

Path的使用-path绘制折线的时候带上圆角

场景&#xff1a; 使用antv-g6 自定义边的时候&#xff0c;绘制折线&#xff0c;此时都是直角&#xff0c;需要加圆角&#xff0c;没找到属性&#xff0c;自己绘制&#xff1a; 最后使用了A&#xff08;elliptical Arc&#xff09;弧形 A命令用于画弧形。 A rx ry x-axis-r…

基于单个参数线性回归的机器学习代码

本文为学习吴恩达版本机器学习教程的代码整理&#xff0c;使用的数据集为https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/f2757f85b99a2b800f4c2e3e9ea967d9e17dfbd8/code/ex1-linear%20regression/ex1data1.txt 将数据集和py代码放到同一目录中&#xff0c;使…

超参数优化的多功能贝叶斯优化包SMAC3

地址 关键词 Bayesian optimization, hyperparameter optimization, SMAC3 文章概述 本文介绍了SMAC3&#xff0c;一个用于超参数优化的多功能贝叶斯优化包。SMAC3使用随机森林作为代理模型&#xff0c;并结合了多样性的BO和强化策略&#xff0c;如积极竞赛和多样性方法…

如何使用DC电源模块进行快速原型开发

如何使用DC电源模块进行快速原型开发 BOSHIDA DC电源模块是一种用于转换电源电压的电子元件&#xff0c;它可以把输入的直流电压转换为不同的输出电压&#xff0c;让我们可以在无需改变设备硬件的情况下&#xff0c;实现电压的升降。它广泛应用于不同的电子设备中&#xff0c;…

【数字经济】你必须知道的SABOE数字化转型

【文末送书】今天推荐一本企业管理类前沿书籍《企业架构驱动数字化转型&#xff1a;以架构为中心的端到端转型方法论》 目录 01传统企业数字化转型面临诸多挑战02SABOE数字化转型五环法为企业转型破除迷雾03文末送书 01传统企业数字化转型面临诸多挑战 即将过去的2023年&#…

​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案

随着“第四次工业革命”的爆炸式发展&#xff0c;众多企业都将自己的业务与迅速发展的应用开发和网站建设领域高度绑定。而对于众多有上云需求的企业和个人用户来说&#xff0c;选择一款自己的服务器配置就成为了一项至关重要的任务。而随着需求端的不断扩大&#xff0c;云服务…

SD-WAN VS MPLS :怎么选择最合适的网络连接方案?

随着企业网络需求的不断增长&#xff0c;网络连接方案也变得更加多样化。在这种情况下&#xff0c;SD-WAN和MPLS成为了企业考虑的两种主要选择。本文将就SD-WAN和MPLS这两种网络连接方案进行比较&#xff0c;深入探讨它们在成本、体验、部署周期和运维等方面的差异。 1、成本投…

050:vue项目webpack打包,大文件分成几个小文件的方法

第050个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…