2023 荣耀笔试题 0911

笔试时间:2023年9月11日 秋招

第一题

题目

输入描述

输入是一个明文,password长度不超过100字符,输入的字符在文件首行。

输出描述

输出转换后的password

样例输入

LIming0701

样例输出

5464640701

参考题解

模拟打表,大写字母转化成小写字母,小写字母有三个字母一组和四个字母一组的

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <string>

char fun(char c) {
    if (std::islower(c)) {
        if (c == 'a' || c == 'b' || c == 'c') return '2';
        if (c == 'd' || c == 'e' || c == 'f') return '3';
        if (c == 'g' || c == 'h' || c == 'i') return '4';
        if (c == 'j' || c == 'k' || c == 'l') return '5';
        if (c == 'm' || c == 'n' || c == 'o') return '6';
        if (c == 'q' || c == 'p' || c == 'r' || c == 's') return '7';
        if (c == 't' || c == 'u' || c == 'v') return '8';
        else return '9';
    } else if (std::isupper(c)) {
        char low = std::tolower(c);
        if (low == 'a') {
            low = 'z';
        } else {
            low = static_cast<char>(low - 1);
        }
        return fun(low);
    } else {
        return c;
    }
}

int main() {
    std::string s;
    std::cin >> s;
    std::string ans;
    for (char c : s) {
        if (c == ' ') continue;
        ans.push_back(fun(c));
    }
    std::cout << ans << std::endl;
    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.Scanner;

class MatrixFillProblem {
    public static void main(String[] args) throws InterruptedException {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        StringBuilder ans = new StringBuilder();
        for (char c : s.toCharArray()) {
            if (c == ' ') continue;
            ans.append(fun(c));
        }
        System.out.println(ans);
    }

    public static char fun(char c) {
        if (Character.isLowerCase(c)) {
            if (c == 'a' || c == 'b' || c == 'c') return '2';
            if (c == 'd' || c == 'e' || c == 'f') return '3';
            if (c == 'g' || c == 'h' || c == 'i') return '4';
            if (c == 'j' || c == 'k' || c == 'l') return '5';
            if (c == 'm' || c == 'n' || c == 'o') return '6';
            if (c == 'q' || c == 'p' || c == 'r' || c == '

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2023 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论

相关推荐

醉蟀:你不干有的是人干
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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