拼多多笔试真题-平衡队伍(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)}

相关新闻

最新新闻

PhotoGIMP终极指南:免费开源图像编辑的高效解决方案

PhotoGIMP终极指南:免费开源图像编辑的高效解决方案

PhotoGIMP终极指南:免费开源图像编辑的高效解决方案 【免费下载链接】PhotoGIMP A Patch for GIMP 3 for Photoshop Users 项目地址: https://gitcode.com/GitHub_Trending/ph/PhotoGIMP 如果你正在寻找一款功能强大、完全免费且能让你无缝从Adobe Photoshop…

2026/8/5 13:53:16
Web 端 AI 架构演进:基于 WebGPU 的浏览器侧模型端侧推理

Web 端 AI 架构演进:基于 WebGPU 的浏览器侧模型端侧推理

Web 端 AI 架构演进:基于 WebGPU 的浏览器侧模型端侧推理 随着 WebGPU 标准在现代浏览器中的普及,Web 端运行小参数 AI 模型(如 ONNX 格式、Transformers.js 驱动的小模型)已经从实验阶段走入了生产落地。将 AI 推理完全下沉到用户…

2026/8/5 13:53:16
终极指南:如何在Windows 11中完美运行日韩游戏和软件

终极指南:如何在Windows 11中完美运行日韩游戏和软件

终极指南:如何在Windows 11中完美运行日韩游戏和软件 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款基于Detours技术开发的Windows系统区…

2026/8/5 13:53:16
深度解析UndertaleModTool:GameMaker游戏逆向工程与模块化开发终极指南

深度解析UndertaleModTool:GameMaker游戏逆向工程与模块化开发终极指南

深度解析UndertaleModTool:GameMaker游戏逆向工程与模块化开发终极指南 【免费下载链接】UndertaleModTool The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!) 项目地址: https://gitcode.com/gh_mirrors/u…

2026/8/5 13:53:16
GetQzonehistory完整教程:三步轻松备份QQ空间所有历史记录

GetQzonehistory完整教程:三步轻松备份QQ空间所有历史记录

GetQzonehistory完整教程:三步轻松备份QQ空间所有历史记录 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些记录青春时光的QQ空间说说会随着时间流逝而消失&am…

2026/8/5 13:53:16
Kafka-King:如何用可视化GUI客户端让Kafka管理变得简单高效

Kafka-King:如何用可视化GUI客户端让Kafka管理变得简单高效

Kafka-King:如何用可视化GUI客户端让Kafka管理变得简单高效 【免费下载链接】Kafka-King A modern and practical kafka GUI client 💕🎉Kafka-King 是一款现代化、实用的 Kafka GUI 客户端,旨在通过直观的桌面界面简化 Apache Ka…

2026/8/5 13:48:16