阿里笔试3月25号两道题(凉凉)

阿里笔试3月25号

第一题,给定一个数组n,比如
5 10 5 4 4
1  7  8 4 0
3  4  9 0 3
从每一列选择一个数,求出后一列减去前一列的绝对值的和的最小值
比如这里就是5 7 5 4 4,所以输出是5

第二题,给定一个举证,每行是等差数列,但是有部分值是被隐藏了的,数值为0即是被隐藏了,
根据输入的值i,j,判断这个位置上的值是否可以被推导出来,可以就输出,否则输出Unknown


#阿里##阿里巴巴##笔试题目#
全部评论
感觉简单的一批,一提交百分之0
2 回复 分享
发布于 2020-03-25 17:11
第一题 python def min_abs(arr):     arr = np.array(arr)     n = len(arr[0])     dp = np.zeros((3, n))     for j in range(1, n):         for i in range(3):             tmp = [(abs(arr[i][j] - arr[k][j-1]) + dp[k][j-1]) for k in range(3)]             dp[i][j] = min(tmp)     return int(min(dp[:, -1]))
1 回复 分享
发布于 2020-03-26 05:36
AC代码 第一题 ```python def solve(n, nums):     pre = [0] * 3     nums = list(zip(nums[0], nums[1], nums[2]))     for i in range(1, n):         cur = [0, 0, 0]         for j in range(3):             cur[j] = min(                 abs(nums[i][j] - nums[i - 1][0]) + pre[0],                 abs(nums[i][j] - nums[i - 1][1]) + pre[1],                 abs(nums[i][j] - nums[i - 1][2]) + pre[2]             )         pre = cur     return min(pre) if __name__ == '__main__':     n = int(input())     res = []     for i in range(3):         res.append(list(map(int, input().split())))     print(solve(n, res)) ```
1 回复 分享
发布于 2020-03-26 02:50
https://blog.csdn.net/m0_38065572/article/details/105101287写了第一题的思路和代码,写了第二题的部分代码和思路。
1 回复 分享
发布于 2020-03-25 19:00
第一题dp,第二题模拟,可以参考我的帖子https://www.nowcoder.com/discuss/391536
1 回复 分享
发布于 2020-03-25 17:14
第一题动态规划,ac算法如下: public class test2 {     static int n,m; static int[][] arr; static int[] dp,next;     public static void main(String[] args) {         Scanner in=new Scanner(System.in);         n=in.nextInt();arr = new int[3][n];         for (int i=0; i<3; i++) {             for (int j=0; j<n; j++) {                 arr[i][j]=in.nextInt();             }         }         dp=new int[]{0, 0, 0};next=new int[]{0, 0, 0};m=0;m=getMinDitance(arr);         System.out.println(minDistance);     }     public static int getMinDitance(int[][] arr) {         for (int i = 1; i < n; i++) {             for (int j = 0; j < 3; j++) {                 next[j] = Math.min(Math.min(Math.abs(arr[j][i] - arr[0][i - 1]) + dp[0],Math.abs(arr[j][i] - arr[1][i - 1]) + dp[1]),Math.abs(arr[j][i] - arr[2][i - 1]) + dp[2]);             }             for (int k = 0; k < 3; k++) {                 dp[k] = next[k];             }         }         return Math.min(Math.min(dp[0], dp[1]), dp[2]);     } }
点赞 回复 分享
发布于 2021-08-08 23:38
分享下我的题解:https://www.nowcoder.com/discuss/392312?toCommentId=5677651 全AC
点赞 回复 分享
发布于 2020-03-31 19:03
https://blog.csdn.net/qq_27003337/article/details/105100534 第一题AC 第二题复原矩阵,按照 行列行 或者 列行列 都能完全复原出来。
点赞 回复 分享
发布于 2020-03-26 17:21
第一题a了,但是第二题***了https://blog.csdn.net/m0_38065572/article/details/105101287
点赞 回复 分享
发布于 2020-03-26 16:15
第一题54544(3)不是最小的吗,为什么是57544(5)
点赞 回复 分享
发布于 2020-03-26 11:37
 #阿里# 阿里笔试题在刷题网站上能刷到吗
点赞 回复 分享
发布于 2020-03-26 08:54
第一题对算法岗的同学有优势,知道hmm的都会viterbi算法,一摸一样。。。
点赞 回复 分享
发布于 2020-03-25 21:48
这个笔试是不到100%都算0分,还是过了多少测试用例算多少分?
点赞 回复 分享
发布于 2020-03-25 17:42
我也是 dp 提交百分之 50,后面加了取模结果变成 35,现在回想起来 当时代码写的有点乱,可能当时括号写错位了,求大神帮忙看看
点赞 回复 分享
发布于 2020-03-25 17:32
好惨,第一次笔试用牛客。不知道是需要scanner参数,以为会输入进方法,然后本来第一题该a的,全0,还固执的一直想为什么。。
点赞 回复 分享
发布于 2020-03-25 17:25
请问过了测试case就是满分了吗。我提交完才发现我第二题有bug。。
点赞 回复 分享
发布于 2020-03-25 17:19
第一题dp #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; typedef long long ll; ll a[maxn][5]; ll dp[maxn][5]; int main(){     int n;     cin>>n;     for(int i=1;i<=3;i++){         for(int j=1;j<=n;j++){             scanf("%lld",&a[i][j]);         }     }     memset(dp,0x3f3f3f3f,sizeof(dp));     dp[1][1]=0;     dp[1][2]=0;     dp[1][3]=0;     for(int i=2;i<=n;i++){         for(int j=1;j<=3;j++){             dp[i][1]=min(dp[i][1],dp[i-1][j]+abs(a[j][i-1]-a[1][i]));             dp[i][2]=min(dp[i][2],dp[i-1][j]+abs(a[j][i-1]-a[2][i]));             dp[i][3]=min(dp[i][3],dp[i-1][j]+abs(a[j][i-1]-a[3][i]));         }     }     ll ans=min(dp[n][1],min(dp[n][2],dp[n][3]));     cout<<ans<<endl;     return 0; }
点赞 回复 分享
发布于 2020-03-25 17:13
第一题用回溯做但是一直没过,0分处理了😫
点赞 回复 分享
发布于 2020-03-25 17:12

相关推荐

不愿透露姓名的神秘牛友
06-30 18:19
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
6
29
分享

创作者周榜

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