拼多多笔试真题-平衡队伍(C++/Py/Java /Js/Go)
平衡队伍拼多多技术岗 8月2号笔试 第一题题目内容某体育俱乐部的nnn名队员排成一列每名队员的类型用字符串中的字符表示‘AAA’或’BBB’。教练想要选出一个连续的区间组成队伍。若区间内 ‘AAA’ 类队员数与 ‘BBB’ 类队员数相等则称该队伍为“平衡队伍”。请找出平衡队伍的最大人数。输入描述第111行一个整数nnn(1≤n≤2×105)(1 \le n \le 2\times10^5)(1≤n≤2×105)第222行一个长度为nnn的字符串sss仅包含字符 ‘AAA’ 和 ‘BBB’输出描述一个整数表示平衡队伍的最大人数。若不存在平衡队伍输出000。样例1输入4 ABAB输出4说明整个字符串有222个 ‘AAA’ 和222个 ‘BBB’满足平衡条件最大长度为444。样例2输入3 AAA输出0说明无法选出平衡队伍输出000。样例3输入5 AAABB输出4说明“AABBAABBAABB” 子串第222至555位有222个 ‘AAA’ 和222个 ‘BBB’长度为444是最大的平衡队伍。题解和思路思路实现思路前缀和可以将A看作-1B看作1,从前往后进行累加。利用前缀和特性可以得出当prefix[i] prefix[j]时说明[i1, j]中1的数量和-1数量相同就是题目所描述的均衡情况。为了求出尽可能长度当前位置 i 前缀和sum情况下肯定是选取尽量靠前的前缀和也为sum的位置所以只需要使用哈希表记录各个前缀和首次出现位置。按照1、2分析从前往后累加前缀和sum 将首次出现前缀和位置记录在哈希表中遍历到i时前缀和sum在哈希表中已经存在记录时尝试更新最长均衡长度maxLen max(maxLen, i - mp[sum])算法平均时间复杂度为OnC#includebits/stdc.husingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intn;string s;cinn;cins;intmaxLen0;intsum0;// 记录前缀和首次出现位置unordered_mapint,intmp;mp[0]-1;for(inti0;in;i){sum(s[i]A?-1:1);// 两个相同前缀和之间一定平衡if(mp.count(sum)){maxLenmax(maxLen,i-mp[sum]);// 记录sum首次出现位置}else{mp[sum]i;}}coutmaxLen;}Javaimportjava.io.*;importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args)throwsException{BufferedReaderbrnewBufferedReader(newInputStreamReader(System.in));intnInteger.parseInt(br.readLine());Stringsbr.readLine();intmaxLen0;intsum0;// 记录前缀和首次出现位置HashMapInteger,IntegermpnewHashMap();mp.put(0,-1);for(inti0;in;i){sum(s.charAt(i)A?-1:1);// 两个相同前缀和之间一定平衡if(mp.containsKey(sum)){maxLenMath.max(maxLen,i-mp.get(sum));// 记录sum首次出现位置}else{mp.put(sum,i);}}System.out.print(maxLen);}}pythonimportsys nint(sys.stdin.readline())ssys.stdin.readline().strip()maxLen0sum0# 记录前缀和首次出现位置mp{}mp[0]-1foriinrange(n):sum-1ifs[i]Aelse1# 两个相同前缀和之间一定平衡ifsuminmp:maxLenmax(maxLen,i-mp[sum])# 记录sum首次出现位置else:mp[sum]iprint(maxLen)Javascriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});letinput[];rl.on(line,line{input.push(line.trim());});rl.on(close,(){letnNumber(input[0]);letsinput[1];letmaxLen0;letsum0;// 记录前缀和首次出现位置letmpnewMap();mp.set(0,-1);for(leti0;in;i){sum(s[i]A?-1:1);// 两个相同前缀和之间一定平衡if(mp.has(sum)){maxLenMath.max(maxLen,i-mp.get(sum));// 记录sum首次出现位置}else{mp.set(sum,i);}}console.log(maxLen);});Gopackagemainimport(bufiofmtos)funcmain(){in:bufio.NewReader(os.Stdin)varnintvarsstringfmt.Fscan(in,n)fmt.Fscan(in,s)maxLen:0sum:0// 记录前缀和首次出现位置mp:make(map[int]int)mp[0]-1fori:0;in;i{ifs[i]A{sum--}else{sum}// 两个相同前缀和之间一定平衡ifpos,ok:mp[sum];ok{ifi-posmaxLen{maxLeni-pos}// 记录sum首次出现位置}else{mp[sum]i}}out:bufio.NewWriter(os.Stdout)deferout.Flush()fmt.Fprint(out,maxLen)}

相关新闻

有限域上的幂置换及其奇偶性

有限域上的幂置换及其奇偶性

提前说明:本文代表作者本人的学习路线持续更新中 在学习这个部分的过程的,第一步应该是从理解概念开始置换把一个集合里的元素重新排列组合,并且每个元素都恰好出现一次 要求:输出无重复,且覆盖了集合中全部的元素S - …

2026/10/14 2:25:46 阅读更多 →
SparkCore 之 Spark Action 类算子详解

SparkCore 之 Spark Action 类算子详解

摘要:系统拆解 Spark 全部 Action 算子——按输出类、存储类、聚合类、统计类四大分类,逐个剖析语法、底层原理、Driver/Executor 数据流向和性能陷阱。配有 2 张原创架构图、完整 Scala 代码示例和常见 OOM 排查指南。面向 Java、大数据及 AI 开发工程师…

2026/10/8 22:38:25 阅读更多 →
使用Codex本地代理快速接入DeepSeek大模型:免注册验证的AI开发方案

使用Codex本地代理快速接入DeepSeek大模型:免注册验证的AI开发方案

在实际开发和学习过程中,我们常常需要快速调用不同的大语言模型(LLM)来辅助编程、解答问题或进行对话。然而,直接使用官方API往往面临注册、充值、网络限制以及模型切换不便等问题。Codex作为一个开源的、可扩展的模型接入器&…

2026/10/10 8:10:46 阅读更多 →

最新新闻

Windows平台Rust开发环境配置与优化指南

Windows平台Rust开发环境配置与优化指南

1. Rust语言与Windows环境适配背景Rust作为一门系统级编程语言,其编译器工具链对操作系统底层有着深度依赖。在Windows平台进行Rust开发需要特别注意环境配置的差异性——与Linux/macOS不同,Windows存在MSVC和GNU两种ABI(应用程序二进制接口&…

2026/10/14 2:25:24 阅读更多 →
长波红外超构透镜偏振复用FDTD仿真全流程解析

长波红外超构透镜偏振复用FDTD仿真全流程解析

1. 项目背景与核心价值长波红外超构透镜偏振复用聚焦技术是近年来光学领域的前沿研究方向。作为一名光学工程师,我在实际项目中发现传统红外光学系统存在体积大、重量沉、功能单一等问题。而基于超构表面的偏振复用透镜,能在单层平面上实现多通道光学功能…

2026/10/14 2:25:24 阅读更多 →
2026 查重率和 AIGC 率都飘红?一站式降AI率软件实测推荐

2026 查重率和 AIGC 率都飘红?一站式降AI率软件实测推荐

一、前言:2026 高校论文审核新难题随着高校学术审核体系不断升级,知网、维普等主流检测平台全面上线AIGC 智能检测功能,当代毕业生的论文写作与修改迎来双重考验。以往论文仅需攻克重复率超标问题,如今还要规避AI写作痕迹检测风险…

2026/10/14 2:25:24 阅读更多 →
摄影工作室AI提效手册:婚纱写真儿童摄影的修图、营销与交付(v1.0)

摄影工作室AI提效手册:婚纱写真儿童摄影的修图、营销与交付(v1.0)

摄影工作室AI提效手册:婚纱、写真、儿童摄影的修图营销与交付版本 v1.0  2026年10月写在前面:这本手册解决什么这本手册写给三类人:开婚纱影楼的老板与修图主管、拍个人写真和家庭照的独立摄影师、做儿童摄影工作室的店长与后期。你大概率已…

2026/10/14 2:25:24 阅读更多 →
流水线设计实战:从冒险机制到乱序执行的性能优化

流水线设计实战:从冒险机制到乱序执行的性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 2:25:24 阅读更多 →
【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告

【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个…

2026/10/14 2:24:24 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →