拼多多笔试真题-平衡队伍(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/8/5 11:17:06 阅读更多 →
SparkCore 之 Spark Action 类算子详解

SparkCore 之 Spark Action 类算子详解

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

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

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

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

2026/8/5 11:17:06 阅读更多 →

最新新闻

Docker(仅学习记录与理解,可能有误或理解不到位)

Docker(仅学习记录与理解,可能有误或理解不到位)

引言:写这篇文章的原因还是最近的项目中多次提到了docker这个东西,虽然在用(就是跟着那种足够详细的指导一步一步使用),但是对于这个东西,我完全没有自己的理解,docker到底是个什么,…

2026/8/5 12:11:26 阅读更多 →
30分钟极速打造:Windows 11极致精简镜像终极指南

30分钟极速打造:Windows 11极致精简镜像终极指南

30分钟极速打造:Windows 11极致精简镜像终极指南 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 还在为Windows 11臃肿的系统占用而烦恼吗&#xff1f…

2026/8/5 12:11:26 阅读更多 →
嵌入式软硬件系统知识分享系列--前言

嵌入式软硬件系统知识分享系列--前言

# 关于“嵌入式系统从0到1”系列文章:我为什么想写一个完整的知识体系?## 写在开头从事嵌入式开发这些年,我踩过无数坑,也翻过无数遍 datasheet。回头看自己走过的路,最大的感触不是技术有多难,而是学习资料…

2026/8/5 12:11:26 阅读更多 →
二维码容错机制解析:从里德-所罗门码到工程实践

二维码容错机制解析:从里德-所罗门码到工程实践

最近在开发一个扫码登录功能时,遇到了一个有趣的问题:用户上传的二维码图片,即使因为打印或裁剪缺失了一个角,系统依然能成功识别。这让我对二维码的“容错”机制产生了浓厚的兴趣。我们每天都在扫二维码,但你是否想过…

2026/8/5 12:11:26 阅读更多 →
从23.8万秒伤到错失限时:坦克DPS的价值陷阱与决策框架

从23.8万秒伤到错失限时:坦克DPS的价值陷阱与决策框架

上周在测试服打红玉圣殿,我开着死亡骑士坦,全程打完伤害统计跳出来23.8万秒伤。数据看着挺漂亮,但最后结算时,因为一个“出生坦克不算进度”的机制问题,硬生生把2限时给卡没了。这事儿让我琢磨了好一阵子,表…

2026/8/5 12:11:26 阅读更多 →
WorkBuddy 进阶:把 AI 专家团做成工作系统,而不是玩具配置

WorkBuddy 进阶:把 AI 专家团做成工作系统,而不是玩具配置

WorkBuddy 进阶:把 AI 专家团做成工作系统,而不是玩具配置 [!NOTE] WorkBuddy 的价值不只在于生成内容,更在于帮助你把任务、角色、资料、验收和责任组织成稳定的工作系统。最后一篇把全系列串成一张可执行的路线图。 很多人会在“生成得很快”与“结果根本不能交付”之间反…

2026/8/5 12:10:26 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →