蚂蚁笔试 蚂蚁笔试题 0323

笔试时间:2025年03月23日

历史笔试传送门:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题

题目:生成字符串T

小红给定了两个长度均为n的字符串s1和s2,仅包含小写字母。

她想通过s1和s2生成一个长度为n的字符串T,T的生成规对如下:

对于第i位,若s1_i=s2_i,则Ti为Si的大写形式,否则Ti=max(s1_i, s2_i),其中max(x, y)表示x和y字典序中较大的一个。

现在小红想知道生成的字符串T。

输入描述

第一行一个整数n,表示字符串长度。

第二行一个字符串s1,仅包含小写字母。

第三行一个字符串s2,仅包含小写字母。

输出描述

一个字符串,表示T。

样例输入

3

abc

abd

样例输出

ABd

参考题解

按照题目要求判断每一位的字母大小即可。

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

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    string s1,s2;
    cin >> s1;
    cin >> s2;
    string ans = "";
    for(int i = 0;i < n;i++){
        if(s1[i] == s2[i]) ans += (char)(s1[i] - 'a' + 'A');
        else{
            ans += (char)max(s1[i],s2[i]);
        }
    }
    cout << ans << endl;
    return 0;
}

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        String s1 = scanner.next();
        String s2 = scanner.next();

        StringBuilder ans = new StringBuilder();
        for (int i = 0; i < n; i++) {
            char c1 = s1.charAt(i);
            char c2 = s2.charAt(i);
            if (c1 == c2) {
                ans.append(Character.toUpperCase(c1));
            } else {
                ans.append((char) Math.max(c1, c2));
            }
        }
        System.out.println(ans.toString());
    }
}

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

n = int(input())
s1 = input()
s2 = input()

ans = ""
for i in range(n):
    if s1[i] == s2[i]:
        ans += s1[i].upper()
    else:
        ans += max(s1[i], s2[i])

print(ans)

第二题

题目:构建排列

给定一个长度为n-1的01字符串,要求构建一个从1到n各出现一次的长度为n的排列。

字符串的第i位为0表示排列第i+1位比第i位小,反之,第i位为1表示排列第i+1位比第i位大。

输入描述

输入为一个长度为n-1的01字符串。

输出描述

输出一个满足条件的排列,如果没有满足要求的排列则输出“-1”。

如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。

注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

样例输入

0101

样例输出

3 2 4 1 5

说明:

构建的排列为3,2,4,1,5。

s1=0,排列a2=2比a1=3小;

s2=1,排列a3=4比a2=2大;

s3=0,排列a4=1比a3=4小;

s4=1,排列a5=5比a4=1大。

参考题解

构造,对于1就放剩余最小的数,对于0就放剩余最大的数,这样就能保证放的数符合题意。所以维护当前最小和当前最大的数,模拟即可。

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

#include <bits/stdc++.h>
using namespace std;
int main() {
    string s;
    cin >> s;
    int lc = 0;
    int rc = s.length();
    vector<int> res;
    for (int i = 0; i < s.length(); i++) {
        if (s[i] == '1') {
            res.push_back(lc);
            lc++;
        } else {
            res.push_back(rc);
            rc--;
        }
    }
    res.push_back(lc);
    for (int i = 0; i < res.size(); i++) {
        cout << (res[i] + 1) << " ";
    }
}

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();

        int lc = 0;
        int rc = s.length();
        List<Integer> res = new ArrayList<>();

        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '1

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

2025 春招笔试合集 文章被收录于专栏

2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南

全部评论

相关推荐

3.10号投递,大概31号安排的第一个志愿的面试,一面面试官人挺好的,一直有反馈,问了一下深度学习原理,问了点数学知识,大模型(基础、deepseek技术报告等)后面就开始问java八股了,都答的挺不错的,最后问了点开放问题,我们聊了一会天文和量子力学,面试官对量子力学挺感兴趣的,也和我讲了一些自己的见解,面试完挺愉快的,面完就通过了。然后大概7号进行的二面,主管是p9,个人感觉挺忙的,我先进会议室他还没面试完,让我等一会,正常面试大概就问了一点算法经历,也没问项目,大概10几分钟就结束了,第二天就挂了😓😓😓(感觉这场面试很不被重视额)。紧接着隔了两三天,第二个志愿被捞了起来,捞起来到hr打电话安排面试就隔了两天,晚上6点刚吃完饭准备回实验室,hr打电话约面试,问我什么时间有空,我说明后天吧,他说我简历匹配度很高,想尽快从候选人中先安排我面,一个小时后面试,我觉得ok,一小时候后也是这个hr面试的,但是他还是懂业务的,聊了一下大模型评测的东西(他们是做大模型评测的),恰巧我有过两段大模型自动化评测的经历,又问了些团队协作的问题(像是简历面?),大概面完一个小时就通过了,第二天早上打电话约下午二面,二面是个女面试官,依旧是聊了一下项目和大模型评测相关的,这次由于了解了业务,准备很充分,面试官说他们部门的人是六边形战士,也就是说既要会前后端,又要会训练评测大模型,还要会和产品沟通,并可以领导和决策,说反正什么都要会,干的也很杂,我就寻思这个业务匹配说不上很好,一个人干好多人的活,但是我确实没有其他工作了,就开始显示自己的匹配度,自己可以满足要求,前后端,大模型都会的,然后问了一些挖坑的问题也回答的挺好的,二面结束大概隔了一天通知过的,后天安排的三面,三面是主管面,这次聊的挺多的,关于开发的项目,业务场景,关于大模型评测,关于最近的大模型技术,主管说虽然他们是做金融大模型评测的,我是做医学大模型评测的,但是方法都差不多,匹配度挺高的,说尽快给我答复,让我等一两天,我以为终于可以放松一段时间了,但是两天依旧没有通知,我去给hr打了电话,说部门还在讨论,本周给出答复,大概过了9天吧,也就是今天,找人工查了一下,已经挂了😢😢😢我就在想,面试这个东西真和运气有关,你说不匹配吧,其实还算挺匹配,并且排序来看,我笔试成绩还可以(反馈是前百分之一?),全栈开发,有两篇论文,有过大模型评测的科研实习经历,可能真就输在了运气上😢😢😢😢&nbsp;真不知道竞争对手是个怎么样的存在,可能真就是六边形战士吧😕
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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