type
status
date
slug
summary
tags
category
icon
password
Last edited time
Apr 28, 2024 09:45 AM
😀
快手游戏春招笔试题-开发B卷题解
 

📝 主旨内容

走方格(线性DP)

给定一个包含一个整数的M*N的矩阵,请找出一条从左上角到右下角的路径,使得路径上的数字总和最大,每次只能向下或者向右移动一步,初始位置在grid[0][0]
例如如下的矩阵
1
2
3
4
5
6
7
8
9
最大路径为:1+4+7+8+9=29
补充:
1≤M,N≤200
-1000≤grid[i][j]≤1000
示例:
输入:
[-143,145,423,-618,476,-869,573,850,629], 3, 3
输出:
1957
输入:
[-421,-445,-698,517,-347,-171,-254,825,921], 3, 3
输出:
1588
💡
简单DP,需要注意方格内含有负数,初始化需要赋最小值上去,否则可能会从边缘开始走

帕鲁的最大效率(01背包)

小快的庄园有m个单位的容量,小快现在有n只帕鲁,第i只帕鲁需要v[i]单位的生存空间,第i只帕鲁的生产效率是e[i],小快庄园的最大生产效率是多少?
示例:
输入:
15, 5, [4,5,6,7,8], [5,6,7,8,9]
输出:
18
输入:
150, 10, [10,20,30,40,50,60,70,80,90,100], [20,30,40,50,60,70,80,90,100,110]
输出:
200
💡
01背包裸题,把生存空间看成物品的体积,生产效率看成是物品的价值即可

滑动窗口的最大值(滑动窗口)

给定一个长度为n的整数数组,大小为k的滑动窗口从数组的最左侧移动到数组的最右侧,滑动窗口每次只向右移动一位。请使列1用一次数组遍历,输出每个滑动窗口中的最大值。
输入描述
第一行,正整数n和正整数k,k<=n
第二行,n个整数
输出描述
每个滑动窗口的最大值依次输出,空格分隔。
示例
输入
输出
💡
滑动窗口裸题,单调队列解决,使得队列内是单调递减的,每次入队先看队尾是否符合递减的条件否则出队,其次再检测队头是否需要出队,每次滑动过后队头就是答案(弹队头没什么好解释的,弹队尾使得队列内单调递减,一个很简单的解释是,只要是当前较大的元素入队了,之前进来的比我小的元素是永无出头之日,而且寿命也更短,所以说每次确保当然入队的是最小值即可)

🤗 总结归纳

总的来说还是比较简单的,几乎都是裸题,也需要有其他题目的原因,还是说游戏开发的问题

📎 参考文章

 
AcWing第152场周赛题解携程春招实习笔试题解
Loading...