最新动态
百度2024届暑期实习后端算法题详解
2024-12-24 01:12


这是百度2024届暑期实习后端岗位的第一轮笔试,总共有十五道单选题,五道多选题,三道编程题,选择题涉及数据库、计算机网络、操作系统、语言基础、补充代码、哈希算法、linux、数据结构、数学等等;时长两个小时,我用的是go语言,编程题前两题挺简单的,最后一题体感虽然很简短,其实很有深度。话不多说,开冲!

题目描述

小红拿到了一个字符串,她想知道这个字符串能否通过重新排列 组成"Baidu"字符串?

注:必须大小写完全相同。

共有t组询问。

输入描述

第一行输入一个正整数t,代表询问次数。

接下来的t行,每行输入一个仅包含英文字母的字符串。

所有字符串的长度之和保证不超过200000。

输出描述

对于每次询问,输出一行答案。如果可以通过重新排列组成"Baidu",则输出"Yes", 否则输出"No"。

解题思路

在主函数中,我们首先读取询问次数t。然后对于每个询问,我们读取一个字符串并调用Form函数来检查是否可以通过重新排列组成"Baidu"字符串。如果返回true,则输出"Yes",否则输出"No"。

在Form函数中,我们使用一个Map:freq来统计输入字符串中每个字符出现的次数。然后检查是否有足够的字符可以组成"Baidu"。具体来说,我们将需要的字符存储在一个Map中,并遍历该Map,检查每个字符是否在Map中出现过。如果有任何一个字符没有出现,则说明无法组成"Baidu",返回false。否则返回true。

详细代码



题目描述

给定一个整数x, 请你构造一个仅由了‘r’、'e'、'd'三种字符组成的 字符串,其中回文子串的数量恰好为x。

字符串的长度不得超过10的5次方。

输入描述

一个正整数x。

1<x<10的9次方

输出描述

输出一个仅由'r'、'e'、'd'三种字符组成的字符串,长度不得超过10的五次方。有多解时输出任意即可。

解题思路

首先,我们读入整数 x。

如果 x 等于 1,那么可以直接输出 "r",因为 "r" 是一个回文字符串。

否则,我们需要构造一个由 "r"、"e"、"d" 三种字符组成的字符串,使得该字符串中恰好有 x 个回文子串。

我们可以观察到,由 "r"、"e"、"d" 三种字符组成的回文子串只有 "r"、"e"、"d"、"ee"、"rr"、"dd"、"redd"、"drrd" 和 "erede" 这九种。

假设我们需要构造 k 个回文子串,那么我们可以构造一个由 k/2 个 "redd" 和 (k+1)/2 个 "red" 组成的字符串,其中 "/" 表示整除符号。

例如,如果 x 等于 3,那么我们需要构造一个由三个回文子串组成的字符串,可以先计算出需要两个回文子串,然后构造一个由一个 "redd" 和一个 "red" 组成的字符串,即 "reddred",然后去掉多余的字符,得到 "red"。

最后,我们可以通过 Go 标准库中的 strings.Repeat 函数来构造由 "redd" 组成的子串,然后通过字符串切片的方式去掉多余的字符,得到长度为 x 的字符串。

详细代码



题目描述

小红拿到了棵树,每个节点被染成 了红色或者蓝色。

小红定义每条边的权值为:删除这条边时,形成的两个子树的同色连通块数量之差的绝对值。

小红想知道,所有边的权值之和是多少?

输入描述

第一行输入一个正整数n,代表节点的数量。

第二行输入一个长度为n且仅由'R"和B,两种字符组成的字符串。

第i个字符为'R"代表i号节点被染成红色,为'B'则被染成蓝色。

接下来的n-1行,每行输入两个正整数u和U,代表节点么和节 点U有一条边相连

1≤n≤200000

输出描述

一个正整数,代表所有节点的权值之和。

百度2024届暑期实习后端算法题详解

解题思路

代码思路:

定义一个 结构体,每个节点包括颜色和邻接表。

读入节点信息和颜色,构造邻接表。

采用 DFS 的方式遍历整个树,对于每个节点,分别统计其子树中红色节点和蓝色节点的数量,最终求出所有节点的权值之和。

具体地,对于每个节点 ,先将其本身的颜色统计一下,再遍历其邻接表,如果邻接点 不是 的父节点,则递归遍历以 为根的子树,并将其子树中红色节点和蓝色节点的数量累加到 节点的计数器 和 上,最后将 和 的差的绝对值累加到答案中即可。

最终输出所有节点的权值之和。

详细代码


测试:

输入:

4

BBRR

1 2

3 2

4 1

输出

    以上就是本篇文章【百度2024届暑期实习后端算法题详解】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/12158.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
环球圆桌对话:用反制告诉美方,霸道高关税是错的
编者按:近日,美国借“对等关税”的名义挑动全球范围的“关税战”,引起国际舆论关注。中国为什么必须就“对等关税”实施反制?
OPPO、ViVO、加多宝的品牌营销强在哪里?oppo手机是哪个国家的品牌「OPPO、ViVO、加多宝的品牌营销强在哪里?」
今天跟大家分享品牌营销,它有规律可循。▌一、营销的品牌导向1.企业的品牌导向:创业的时候,开始的时候是产品导向,还是品牌导
手机静态ip设置参数 这七步帮你完成手机静态ip「手机静态ip设置参数 这七步帮你完成」
手机在我们现在飞速发展的社会中有着十分重要的作用,随着互联网的发展,手机的速度也是越来越快,越来越流畅。但也有时候我们在
tplogin重新设置密码,tplogincn路由器设置管理密码是多少tplogincn手机登录「tplogin重新设置密码,tplogincn路由器设置管理密码是多少」
tplogincn路由器路由器的管理密码:1.一般路由器的管理账号和密码是:admin(小写字母)。2.有些路由器要求安全登录一次,并设置自己
vivo 是什么手机牌子?认识一款手机-VIVOvivo中文叫什么手机「vivo 是什么手机牌子?认识一款手机-VIVO」
vivo,一个从音乐手机起步,逐渐成长为全球知名品牌,在智能手机领域不断追求创新和完美的品牌。从最初的步步高音乐手机,到如今
游戏手机的自我救赎:ROG 8 Pro上手后,我看到了ROG的未来专门打游戏的手机「游戏手机的自我救赎:ROG 8 Pro上手后,我看到了ROG的未来」
来源|锚思科技作者|陈宝玉 游戏手机二选一,告诉你我的选择!!! 游戏手机作为手机的一个细分产品线,只有专业玩家和对游戏有
battery guru最新版 v2.3.13手机电池检测软件「battery guru最新版 v2.3.13」
battery guru最新版是一款能够对你安卓设备的电池进行保护,能够延长其使用寿命。多项功能的设置,让你能够通过更为精准的数据,
CBA1/4决赛:辽篮拿到赛点,青岛队扳平比分
4月15日,2024-2025赛季中国男子篮球职业联赛(CBA)季后赛四分之一决赛继续进行,首回合失利的青岛队客场大胜广厦队将总比分扳
单场0分又被雪藏!火箭队第18人恐难留队,三分精准,但功能单一
火箭队季后赛的对手已然确定。北京时间4月16号,孟菲斯灰熊队客场不敌勇士队。如此一来,灰熊队还得与独行侠以及国王队的胜者进
《刺客信条:奥德赛》v1.5.0十四项修改器[MrAntiFun][Epic]刺客信条手机版下载「《刺客信条:奥德赛》v1.5.0十四项修改器[MrAntiFun][Epic]」
《刺客信条:奥德赛》v1.5.0十四项修改器,包含无限肾上腺素,无限技能点,完美潜行等等功能助你轻松“暗杀”!让你在希腊尽情无