百度2024届暑期实习后端算法题详解 | 您所在的位置:网站首页 › 算法百度 › 百度2024届暑期实习后端算法题详解 |
文章目录
一 Coding1题目描述解题思路详细代码
二 Coding2题目描述解题思路详细代码
三 Coding3题目描述解题思路详细代码
这是百度2024届暑期实习后端岗位的第一轮笔试,总共有十五道单选题,五道多选题,三道编程题,选择题涉及数据库、计算机网络、操作系统、语言基础、补充代码、哈希算法、linux、数据结构、数学等等;时长两个小时,我用的是go语言,编程题前两题挺简单的,最后一题体感虽然很简短,其实很有深度。话不多说,开冲!
一 Coding1
题目描述
小红拿到了一个字符串,她想知道这个字符串能否通过重新排列 组成"Baidu"字符串? 注:必须大小写完全相同。 共有t组询问。 输入描述 第一行输入一个正整数t,代表询问次数。 接下来的t行,每行输入一个仅包含英文字母的字符串。 所有字符串的长度之和保证不超过200000。 输出描述 对于每次询问,输出一行答案。如果可以通过重新排列组成"Baidu",则输出"Yes", 否则输出"No"。 解题思路在主函数中,我们首先读取询问次数t。然后对于每个询问,我们读取一个字符串并调用Form函数来检查是否可以通过重新排列组成"Baidu"字符串。如果返回true,则输出"Yes",否则输出"No"。 在Form函数中,我们使用一个Map:freq来统计输入字符串中每个字符出现的次数。然后检查是否有足够的字符可以组成"Baidu"。具体来说,我们将需要的字符存储在一个Map中,并遍历该Map,检查每个字符是否在Map中出现过。如果有任何一个字符没有出现,则说明无法组成"Baidu",返回false。否则返回true。 详细代码 package main import ( "bufio" "fmt" "os" "strconv" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Scan() t,_:=strconv.Atoi(scanner.Text()) for i:=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |