【秋招笔试】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%内容,订阅专栏后可继续查看/也可单篇购买

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

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

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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