2025秋招理想汽车测试开发工程师
2025秋招理想汽车测试开发工程师
2025秋招-理想汽车-测试开发工程师-上海。
2024-10-10 简历投递。
2024-10-11 邮件笔试邀请,3天内完成。
2024-10-11 技术笔试。
试卷名称:2025届【算力平台】软件类(测试开发)。
考试时长:60分钟,试卷总分:100分,考试题型:单选10道, 编程2道。
单选题:每题5分,共50分,C++、Python、计算机网络、操作系统。
编程题:每题25分,共50分。
第1题,有两堆石子,开始时大小分别为a、b,每回合在石子较多的堆中取走一定倍数(不能为0)的min(a, b),当某方可以把一堆石子取完时便是胜者,已知先手,双方均采用最优策略,求出胜者。解法:递归+贪心算法,难度简单。
第2题,将一个长度为n的序列分成k个部分,各部分不能为空,各部分内部下标连续,各部分的分数为该部分中所有元素的最大公约数。求出序列最大的得分S。解法:动态规划,dp[i][j]代表前i个元素分成j个部分的最大得分,难度中等。
2025秋招-理想汽车-测试开发工程师-上海。
2024-10-10 简历投递。
2024-10-11 邮件笔试邀请,3天内完成。
2024-10-11 技术笔试。
试卷名称:2025届【算力平台】软件类(测试开发)。
考试时长:60分钟,试卷总分:100分,考试题型:单选10道, 编程2道。
单选题:每题5分,共50分,C++、Python、计算机网络、操作系统。
编程题:每题25分,共50分。
第1题,有两堆石子,开始时大小分别为a、b,每回合在石子较多的堆中取走一定倍数(不能为0)的min(a, b),当某方可以把一堆石子取完时便是胜者,已知先手,双方均采用最优策略,求出胜者。解法:递归+贪心算法,难度简单。
第2题,将一个长度为n的序列分成k个部分,各部分不能为空,各部分内部下标连续,各部分的分数为该部分中所有元素的最大公约数。求出序列最大的得分S。解法:动态规划,dp[i][j]代表前i个元素分成j个部分的最大得分,难度中等。
全部评论
1. 求最大公约数的辅助函数 gcd(a, b) :
- 使用辗转相除法来计算两个数的最大公约数。通过不断地将较大数变为较小数,较小数变为两数相除的余数,直到余数为 0,此时较大数就是最大公约数。
2. 计算最大得分的函数 max_score(nums, k) :
- 首先确定问题的规模和状态表示:
- n 表示输入序列 nums 的长度。
- 创建一个二维列表 dp ,其中 dp[i][j] 表示前 i 个元素分成 j 个部分的最大得分。
- 然后进行状态转移:
- 对于每个 i 从 1 到 n (遍历整个序列):
- 对于每个 j 从 1 到 min(i, k) (确保部分数不超过元素个数且不超过给定的要分成的部分数 k ):
- 通过遍历不同的分割点 l 从 j - 1 到 i (确定当前部分的边界),计算当前状态 dp[i][j] 。
- 计算方式是取当前状态和前 l 个元素分成 j - 1 个部分的得分加上从 l 到 i 这部分的最大公约数中的较大值。这里的最大公约数通过调用 gcd(*nums[l:i]) 来计算,表示从 l 到 i 这个子序列中所有元素的最大公约数。
- 最后返回结果:
- dp[n][k] 即为前 n 个元素分成 k 个部分的最大得分。
笔试全对,给我挂了
def winner(a, b):
if a == 0 or b == 0:
return "先手" if a > b else "后手"
if a > b:
return winner(a - b, b)
else:
return winner(a, b - a)
你好,想问一下几次面试呀
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-11 02:16
武汉生物工程学院 Java 点赞 评论 收藏
分享