欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

螞蟻筆試 螞蟻筆試題 0323

筆試時(shí)間:2025年03月23日

歷史筆試傳送門:

2023春招秋招筆試合集

2024春招秋招筆試合集

第一題

題目:生成字符串T

小紅給定了兩個(gè)長度均為n的字符串s1和s2,僅包含小寫字母。

她想通過s1和s2生成一個(gè)長度為n的字符串T,T的生成規(guī)對(duì)如下:

對(duì)于第i位,若s1_i=s2_i,則Ti為Si的大寫形式,否則Ti=max(s1_i, s2_i),其中max(x, y)表示x和y字典序中較大的一個(gè)。

現(xiàn)在小紅想知道生成的字符串T。

輸入描述

第一行一個(gè)整數(shù)n,表示字符串長度。

第二行一個(gè)字符串s1,僅包含小寫字母。

第三行一個(gè)字符串s2,僅包含小寫字母。

輸出描述

一個(gè)字符串,表示T。

樣例輸入

3

abc

abd

樣例輸出

ABd

參考題解

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

C++:[此代碼未進(jìn)行大量數(shù)據(jù)的測(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:[此代碼未進(jìn)行大量數(shù)據(jù)的測(cè)試,僅供參考]

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:[此代碼未進(jìn)行大量數(shù)據(jù)的測(cè)試,僅供參考]

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)

第二題

題目:構(gòu)建排列

給定一個(gè)長度為n-1的01字符串,要求構(gòu)建一個(gè)從1到n各出現(xiàn)一次的長度為n的排列。

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

輸入描述

輸入為一個(gè)長度為n-1的01字符串。

輸出描述

輸出一個(gè)滿足條件的排列,如果沒有滿足要求的排列則輸出“-1”。

如果存在多個(gè)解決方案,您可以輸出任意一個(gè),系統(tǒng)會(huì)自動(dòng)判定是否正確。

注意,自測(cè)運(yùn)行功能可能因此返回錯(cuò)誤結(jié)果,請(qǐng)自行檢查答案正確性。

樣例輸入

0101

樣例輸出

3 2 4 1 5

說明:

構(gòu)建的排列為3,2,4,1,5。

s1=0,排列a2=2比a1=3?。?/span>

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

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

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

參考題解

構(gòu)造,對(duì)于1就放剩余最小的數(shù),對(duì)于0就放剩余最大的數(shù),這樣就能保證放的數(shù)符合題意。所以維護(hù)當(dāng)前最小和當(dāng)前最大的數(shù),模擬即可。

C++:[此代碼未進(jìn)行大量數(shù)據(jù)的測(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:[此代碼未進(jìn)行大量數(shù)據(jù)的測(cè)試,僅供參考]

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%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買

2025 春招筆試合集 文章被收錄于專欄

2025打怪升級(jí)記錄,大廠筆試合集 C++, Java, Python等多種語言做法集合指南

全部評(píng)論

相關(guān)推薦

投遞螞蟻集團(tuán)等公司10個(gè)崗位
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)