阿里笔试 盒马笔试 盒马秋招 1018

笔试时间:2025年10月18日

往年笔试合集:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题

小红正在数偶数:0,2,4,6,8,10,12,……,并将这些数依次拼接成一个无穷长的字符串"0246810121416···"。现给定一个正整数n,请你确定该字符串的第n个字符是什么(下标从1开始)。

输入描述

在一行上输入一个整数n(1≤n≤10^9)。

输出描述

在一行上输出一个字符,表示该字符串的第n个字符。

样例输入

6

样例输出

1

在这个样例中,字符串前6个字符为"024681",因此第6个字符是"1"。

参考题解

解题思路:

  1. 偶数序列中的每个数字长度不同: 个位数偶数(0, 2, 4, 6, 8)长度为1两位数偶数(10, 12, 14, ...)长度为2三位数偶数(100, 102, ...)长度为3,依此类推
  2. 我们需要找到包含第n个字符的那个偶数: 从最小的偶数0开始,依次累加每个偶数的长度当累加长度 ≥ n时,说明第n个字符就在当前这个偶数中

C++:

#include <iostream>
#include <string>
using namespace std;

void solve() {
    int n;
    cin >> n;
    
    string s = "";
    int k = 0;
    int total_len = 0;
    
    while (total_len < n) {
        string even_str = to_string(2 * k);
        s += even_str;
        total_len += even_str.length();
        k++;
    }
    
    cout << s[n - 1] << endl;
}

int main() {
    solve();
    return 0;
}

Java:

import java.util.Scanner;

public class Main {
    public static void solve() {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        
        StringBuilder s = new StringBuilder();
        int k = 0;
        int totalLen = 0;
        
        while (totalLen < n) {
            String evenStr = String.valueOf(2 * k);
            s.append(evenStr);
            totalLen += evenStr.length();
            k++;
        }
        
        System.out.println(s.charAt(n - 1));
    }
    
    public static void main(String[] args) {
        solve();
    }
}

Python:

import sys

def solve():
    n = int(sys.stdin.readline().strip())
    parts = []
    k = 0
    total_len = 0
    while total_len < n:
        even_str = str(2 * k)
        parts.append(even_str)
        total_len += len(even_str)
        k += 1
    s = "".join(parts)
    print(s[n - 1])

solve()

第二题

小红有一个仅包含n个字符'a'的字符串,你需要对这个字符串进行操作,每次操作需要将一个字母改为另一个与它不同的小写字母。小红想知道在进行恰好m次操作后,可能会有多少种不同的字符串?由于这个答案可能很大,因此需要将答案对10^9+7取模。

输入描述

两个正整数n和m(1≤n,m≤10^5

输出描述

一个整数。

样例输入

3 1

样例输出

75

样例说明:必须修改一次,有3个位置可以修改,每个位置可以改成除了'a'以外的任意字符,共有25种方式。因此答案是3×25=75。

参考题解

解题思路:

  1. 问题转化:初始全是'a',每次操作必须改成其他字母(有25种选择)。最终字符串中,被修改过的位置可以是任意非'a'的字母(26个字母中除去'a',有25种选择),且

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

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

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

全部评论

相关推荐

ldyllic:飞神,985+美团+腾讯+京东,无敌飞飞神
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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