华为机试 - 完美走位
创始人
2024-02-28 00:05:52
0

目录

题目描述

输入描述

输出描述

用例

题目解析

算法源码


题目描述

输入一个长度为4的倍数的字符串,字符串中仅包含WASD四个字母。

将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换,如果替换后整个字符串中WASD四个字母出现的频数相同,那么我们称替换后的字符串是“完美走位”。

求子串的最小长度。

如果输入字符串已经平衡则输出0。

输入描述

一行字符表示给定的字符串s

数据范围:1<=n<=10^5且n是4的倍数,字符串中仅包含WASD四个字母。

输出描述

一个整数表示答案

用例

输入WASDAASD
输出1
说明将第二个A替换为W,即可得到完美走位
输入AAAA
输出3
说明将其中三个连续的A替换为WSD,即可得到完美走位

题目解析

题目要求,保持W,A,S,D字母个数平衡,即相等,如果不相等,可以从字符串中选取一段连续子串替换,来让字符串平衡。

比如:WWWWAAAASSSS

字符串长度12,W,A,S,D平衡的话,则每个字母个数应该是3个,而现在W,A,S各有4个,也就是说各超了1个。

因此我们应该从字符串中,选取一段包含1个W,1个A,1个S的子串,来替换为S。

WWWWAAAASSSS

WWWWAAAASSSS

WWWWAAAASSSS

........

WWWWAAAASSSS

而符合这种要求的子串可能很多,我们需要找出其中最短的,即WAAAAS。

本题其实就是求最小覆盖子串,同LeetCode - 76 最小覆盖子串_伏城之外的博客-CSDN博客

题目解析请看上面链接博客。

算法源码

/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");const rl = readline.createInterface({input: process.stdin,output: process.stdout,
});rl.on("line", (line) => {console.log(getResult(line));
});function getResult(str) {// 此时count记录统计W,A,S,D字母的数量const count = {W: 0,A: 0,S: 0,D: 0,};for (let c of str) count[c]++;// 平衡状态时,W,A,S,D应该都是avg数量const avg = str.length / 4;let total = 0; // total用于记录多余字母个数let flag = true; // flag表示当前是否为平衡状态,默认是for (let c in count) {if (count[c] > avg) {flag = false; // 如果有一个字母数量超标,则平衡打破count[c] -= avg; // 此时count记录每个字母超过avg的数量total += count[c];} else {delete count[c];}}if (flag) return 0; // 如果平衡,则输出0let i = 0;let j = 0;let minLen = str.length + 1;while (j < str.length) {const jc = str[j];if (count[jc]-- > 0) {total--;}while (total === 0) {minLen = Math.min(minLen, j - i + 1);const ic = str[i];if (count[ic]++ >= 0) {total++;}i++;}j++;}return minLen;
}

相关内容

热门资讯

中信证券:“反内卷”政策强度不... 中信证券研报表示,“反内卷”政策强度不断升级,有望成为持续投资主线。长期看,反内卷需要全国统一大市场...
马竞球迷组织就小蜘蛛二次触球起... 直播吧7月25日讯 马竞球迷组织(马竞国际联盟和Señales de Humo协会)社媒确认,已对欧...
原创 国... 北京时间2025年7月25日,Shams在节目中谈到了乔纳森-库明加的交易情况。 据悉,国王和太阳是...
法国总统马克龙起诉一名美国网红 综合路透社、美国有线电视新闻网(CNN)等多家外国媒体报道,法国总统马克龙与妻子布丽吉特·马克龙本周...
中信证券:反内卷”政策强度不断... 每经AI快讯,中信证券研报表示,“反内卷”政策强度不断升级,有望成为持续投资主线。长期看,反内卷需要...
推进检察公益诉讼有何经验 检察公益诉讼制度是习近平法治思想在公益保护领域的生动实践和原创性成果。检察公益诉讼制度取得的成效,是...
龙岗所有青年驿站均已设法律服务... 深圳新闻网2025年7月25日讯(深圳晚报记者 伊宵鸿) 近日,深圳市龙岗区司法局联合共青团深圳市龙...
王传君谈《南京照相馆》演汉奸:... 搜狐娱乐讯 (哈麦/文 马森/图/视频)7月24日,电影《南京照相馆》在北京首映,导演申奥,主演刘昊...
官方:王霄出任青岛红狮俱乐部体... 直播吧7月25日讯 青岛红狮俱乐部官方宣布,王霄正式出任俱乐部体育总监兼中方教练组组长。 青岛红狮俱...
航发控制:已制定市值管理制度强... 证券之星消息,航发控制(000738)07月25日在投资者关系平台上答复投资者关心的问题。 投资者提...