百度2024届暑期实习后端算法题详解 您所在的位置:网站首页 算法百度 百度2024届暑期实习后端算法题详解

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

#百度2024届暑期实习后端算法题详解| 来源: 网络整理| 查看: 265

文章目录 一 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 实验室设备网 版权所有