阿里巴巴 3.25 笔试编程题

题目一:小强有一个3*n的矩阵,从每一列中选一个数字组成一个新的一行n列的矩阵bi(i=0,1,2,...,n-1),计算使最小;

第一题完全没有思路,我死了。感觉是动态规划,但是,转移方程没写出来,DFS的话太复杂没写出来。欢迎大佬过来分享思路

题目二:一个n行m列的矩阵,其中每行和每列都是等差数列,但是其中有一些数据缺失,用零表示。给定一个位置,得到该位置的数值,(如果是缺失的,需要补全)

第二题直接暴力的把整个输入矩阵能补全的位置都补全,然后查补全后的位置输出就好了。不知道对不对。

我怎么就没好好学DFS和动态规划呢
#阿里巴巴春招##阿里巴巴##笔试题目#
全部评论
第一题100%,第二题0%; 第一题:存3*n数据到二维数组nums,做一个3*n的辅助数组help,help[i][j]代表从第一列到第j列以nums[i][j]为终点的计算最小值。初始状态:第一列help全部为0;整列整列的规划。help[i][j]=min{(help[0][j-1]+abs(nums[i][j]-nums[0][j-1])),(help[1][j-1]+abs(nums[i][j]-nums[1][j-1])),(help[2][j-1]+abs(nums[i][j]-nums[2][j-1]));最后取最后一列的最小值输出
2 回复 分享
发布于 2020-03-25 17:51
第一题20%错了 第二题30%超时。第一题我感觉我思路没错,使用dp[3]记录到上一列的最小值,然后求这一列到上一列的最小值更新dp。。。我好难受
1 回复 分享
发布于 2020-03-25 17:13
点赞 回复 分享
发布于 2020-03-26 11:05
https://blog.csdn.net/m0_38065572/article/details/105101287写了第一题的思路和代码,写了第二题的思路和部分代码
点赞 回复 分享
发布于 2020-03-25 19:01

相关推荐

wolf_82:你是一个出租车费用计算器。根据用户输入的自然语言,提取里程、等候时间、是否夜间、大件行李数量,严格按以下规则计算,只输出JSON。 【计算步骤】 第一步:提取参数 - X = 行驶公里数 - T = 等候分钟数(未提及则为0) - N = 大件行李件数(未提及则为0) - 夜间 = 文中提到"夜间"/"凌晨"/时间在23:00(含)~次日5:00(不含)则为true,否则false 第二步:计算车费(base_fare) - 将X向上取整为整数D = ceil(X) - 若 D ≤ 3:base_fare = 10 - 若 3 < D ≤ 15:base_fare = 10 + (D - 3) × 3 - 若 D > 15:base_fare = 10 + 12 × 3 + (D - 15) × 4 第三步:计算等候费 - wait_fee = floor(T / 5) × 2 第四步:计算夜间加收 - 若夜间=true:night_amount = ceil(base_fare × 0.2) - 若夜间=false:night_amount = 0 第五步:计算行李费 - luggage_fee = N × 5 第六步:计算总费用 - fare = base_fare + night_amount + wait_fee + luggage_fee 【输出】 只输出一行JSON: {"fare": 总费用, "base_fare": 车费, "night_surcharge": 是否夜间}
阿里笔试
点赞 评论 收藏
分享
评论
1
11
分享

创作者周榜

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