【秋招笔试】2025年8月10日大疆秋招机考改编题

✅ 秋招备战指南 ✅

💡 学习建议:

  • 先尝试独立解题
  • 对照解析查漏补缺

🧸 题面描述背景等均已深度改编,做法和题目本质基本保持一致。

🍹 感谢各位朋友们的订阅,你们的支持是我们创作的最大动力

🌸 目前本专栏已经上线100+套真题改编解析,后续会持续更新的

春秋招笔试机考招合集 -> 互联网必备刷题宝典🔗

题目一:小兰的图书馆路径规划

1️⃣:使用动态规划解决网格路径最小成本问题

2️⃣:处理边界条件,初始化第一行和第一列

3️⃣:应用状态转移方程计算最优路径

难度:中等

这道题目是经典的网格路径动态规划问题。关键在于理解只能向右或向下移动的限制,通过动态规划的状态转移方程 dp[i][j] = grid[i][j] + min(dp[i-1][j], dp[i][j-1]) 来找到最小成本路径。需要特别注意边界条件的处理。

01. 小兰的图书馆路径规划

问题描述

小兰是一家大型图书馆的管理员。图书馆有一个巨大的书架区域,按照 列的网格排列。每个网格位置都有一个数字,表示在该位置整理书籍所需要的时间成本(单位:分钟)。

小兰需要从图书馆的入口(左上角位置)出发,到达图书馆的出口(右下角位置)。由于图书馆的通道设计限制,她只能沿着通道向右移动或向下移动,不能向左或向上移动,也不能斜向移动。

在移动过程中,小兰需要经过每个网格位置并花费相应的时间整理书籍。请帮助小兰规划一条路径,使得她从入口到出口的总时间成本最小。

输入格式

第一行包含两个正整数 ,分别表示图书馆书架区域的行数和列数。

接下来 行,每行包含 个非负整数,第 行第 个数字表示位置 的时间成本。

输出格式

输出一个正整数,表示从入口到出口的最小总时间成本。

样例输入

3 3
1 2 3
4 5 6
7 8 9

样例输出

21

数据范围

样例 解释说明
样例1 小兰从位置 出发,经过路径 ,总成本为 。但最优路径为 ,总成本为 。实际最优路径为 ,总成本为

题解

这道题是经典的动态规划问题,也被称为"网格路径最小成本"问题。

问题分析:

从题目描述可以看出,小兰只能向右或向下移动,这意味着到达任意位置 只有两种可能:

  • 从上方位置 向下移动而来
  • 从左方位置 向右移动而来

因此,要使到达位置 的总成本最小,我们应该选择这两种路径中成本更小的那一条。

解法思路:

使用动态规划来解决这个问题。定义 表示从起点 到达位置 的最小总成本。

状态转移方程为:

  • (起点的成本就是该位置的时间成本)

其中 是位置 的时间成本。

边界处理:

  • 第一行:只能从左边移动过来,
  • 第一列:只能从上边移动下来,

算法步骤:

  1. 初始化 数组
  2. 设置起点:
  3. 处理第一行和第一列的边界情况
  4. 使用状态转移方程填充剩余的 数组
  5. 返回 ,即到达终点的最小成本

时间复杂度分析:

时间复杂度为 ,需要遍历整个网格一次。对于题目给定的数据范围(),这个复杂度完全可以接受。

空间复杂度可以优化到 ,因为计算当前行时只需要上一行的信息。

参考代码

  • Python
import sys
input = lambda: sys.stdin.readline().strip()

def solve():
    # 读取网格尺寸
    m, n = map(int, input().split())
    
    # 读取网格数据
    grid = []
    for i in range(m):
        row = list(map(int, input().split()))
        grid.append(row)
    
    # 初始化动态规划数组
    dp = [[0] * n for _ in range(m)]
    
    # 设置起点
    dp[0][0] = grid[0][0]
    
    # 处理第一行(只能从左边过来)
    for j in range(1, n):
        dp[0][j] = dp[0][j-1] + grid[0][j]
    
    # 处理第一列(只能从上边下来)
    for i in range(1, m):
        dp[i][0] = dp[i-1][0] 

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

互联网刷题笔试宝典 文章被收录于专栏

互联网刷题笔试宝典,这里涵盖了市面上大部分的笔试题合集,希望助大家春秋招一臂之力

全部评论

相关推荐

昨天许多同学已经完成了大疆秋招笔试,接下来就是一系列的面试了。为了让大家对大疆的整个校园招聘过程有个系统的了解,我给大家分享下去年我的大疆秋招timeline一面:8.23发短信,8.27面试 见图1.2大疆的面试是会提前几天发通知的,一般是4-5的间隔期。面试时间需要自己选择,所以大家八月底这段时间尽量留意短信,收到了最好尽量选好自己合适的时间,不然可能和其他笔面冲突二面:9.3发短信,9.6面试 见图3.4二面在一面后约一周通知,实际上我记得一面完一两天就能看到面试结果了终面:9.6发通知,9.10面试 见图5这是当时令我比较惊讶的,因为二面完当天晚上就通知三面了,一般不会这么快,我的推测是二面面评比较好,排序靠前,所以发得快。如果有宝子是跟我类似的timeline那么大概率你答的是比较好的😉意向:10.29晚上 见图6大疆的流程长很大程度就是因为面试周期长,面试官说我算是第一批结束终面的,之后长达一个月的时间,直到国庆前都有源源不断的同学约面,因此只要在九月份内大家都不要气馁,任何一天都有可能约面的。所有人面试完还有大约一个月的评估周期,其中大概十月中旬的时候我接到了保温电话,就是hr打过来询问offer情况的。接到这个电话说明大你进入offer排序了并且极大概率是会泡出来的😁😁😁当然最后尘埃落定还是得等到收到意向邮件的那一刻,悬着的心终于放下了~以上是我的大疆秋招timeline,希望能给大家参考。有问题的宝子可以关注********************,我创建了一个讨论群,后续我会跟进大家的应聘流程,并解答大家的疑惑,协助大家完成整个招聘流程。预祝大家秋招顺利!
大疆开奖11人在聊
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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