笔试时间:2023年3月28日 春招实习  第一题  题目:百度字符串  小红拿到了一个字符串,她想知道这个字符串能否通过重新排列组成"Baidu"字符串?  注:必须大小写完全相同。共有t组询问。  输入描述  第一行输入一个正整数t,代表询问次数。  接下来的t行,每一行输入一个仅包含英文字母的字符串。  所有字符串的长度之和保证不超过200000。  输出描述  成功则输出YES,否则输出NO。  样例输入     4   Baidu   baidu   Baidu   bbdu    样例输出     YES   NO   YES   NO    参考题解  哈希表模拟即可。  C++:[此代码未进行大量数据的测试,仅供参考]  #include <iostream>#include <set>using namespace std;bool solv() {    set<char> s;    string input;    cin >> input;    if (input.size() == 5) {        for (char c : input) {            s.insert(c);        }        set<char> baidu = {'B', 'a', 'i', 'd', 'u'};        for (char c : baidu) {            if (s.find(c) == s.end()) {                return false;            }        }        return true;    }    return false;}int main() {    int t;    cin >> t;    for (int i = 0; i < t; i++) {        if (solv()) {            cout << "YES" << endl;        } else {            cout << "NO" << endl;        }    }    return 0;}  Java:[此代码未进行大量数据的测试,仅供参考]  import java.util.HashSet;import java.util.Scanner;import java.util.Set;public class Main {    public static boolean solv() {        Set<Character> s = new HashSet<>();        Scanner scanner = new Scanner(System.in);        String input = scanner.next();        if (input.length() == 5) {            for (char c : input.toCharArray()) {                s.add(c);            }            Set<Character> baidu = new HashSet<>();            baidu.add('B');            baidu.add('a');            baidu.add('i');            baidu.add('d');            baidu.add('u');            for (char c : baidu) {                if (!s.contains(c)) {                    return false;                }            }            return true;        }        return false;    }    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int t = scanner.nextInt();        for (int i = 0; i < t; i++) {            if (solv()) {                System.out.println("YES");            } else {                System.out.println("NO");            }        }    }}  Python:[此代码未进行大量数据的测试,仅供参考]  t = int(input())baidu = set(['B','a','i','d','u'])def solv():    s = set([c for c in input()])    if len(s) == 5:        for c in baidu:            if c not in s:                return False        return True    return Falsefor _ in range(t):    if solv(): print('YES')    else:print('NO')  第二题  题目:RED字符串  给定一个整数x,请你构造一个仅由'r'、'e'
点赞 1
评论 0
全部评论

相关推荐

07-29 14:37
门头沟学院 Java
点赞 评论 收藏
分享
07-24 03:49
门头沟学院 Java
牛客73769814...:这种小作坊去了也费劲
点赞 评论 收藏
分享
投递拓竹科技等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务