南京大学java机试,2019南京大学计算机本科生开放日机试

本文分享了南京大学2019年机试经验,包括动态规划、抽屉原理应用的题目技巧,以及二叉树构造问题的多种解法。强调机试在总分中的重要性,并给出了实例解析和策略建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

南大的机试分两场,南京本地一场、外地一场。2019年的外地同学的机试难度略高于本地同学机试难度。机试共3题,按照套路一般是动态规划、深广度遍历、树这些题目,大概是leetcode中等难度题,模板题比较多。(南大年年有DP!!!)dp解法想不到的话,可以靠dfs骗分。

题目(2小时3题)

这次说的150以上就有可能、250以上就很稳拿优秀营员

题目一:

给你一个不超过100位的数n,和一个不超过100的数字k,要求从数n中去掉k个数字,然后使得去掉k个数之后,n最小。

题解链接:https://blog.youkuaiyun.com/C20190413/article/details/77368590

题目二:

有B个男孩,G个女孩,要求所有男孩女孩排成一队,连续的男孩个数不可以超过K个,问一共有多少种排法。(结果需要mod 10007)

这个就是万年不变的必有dp。

思路一:dfs,会超时,但是可以骗分。(我骗了70,hh)

思路二:dp

本题可以看作(G+1)个抽屉,每个抽屉最多放K个物品,一共有B个物品,问不同的放法。这样,本题很容易想到DP解法。

dp[g][b]+=dp[g-1][b-i],

0<=i

题目三:

给出一个二叉树的前序遍历序列和后序遍历序列的字符串,问通过这两个序列可以构造多少中不同的二叉树,

因为树的样子不一样,遍历的序列是可能一样的。比如前序序列:abc,后序序列cba,就有4种不同的树。

简单来说就是如果一棵树他只有一边的子树,那就是子树可能为左子树也可能为右子树。×2就好。

直接dfs暴力就可以过。

(算是树的前序遍历、中序遍历、后序遍历的变式),主要是理解到前序遍历是根左子树右子树、中序是左子树根右子树、后序是左子树右子树根。

总结

南大及其看中机试,面试机试总分是600分。机试3道题,每题10个用例,每个用例10分,共300分。面试3位老师,每位老师100分,一共300分。最后会将分数汇总,除以3,就是你最后的总分。

因为很多同学都很优秀,在面试上很难拉开差距(每位老师打分一般在85~95打分),所以最大的差距就在机试上了,考了300分的机试和150分的机试最后总分直接差了50分!反正如果你考了300,你就一点稳了。

找老师签字不要着急,不要入营就签,多接触一点老师再让他们签。

面试中的英文,不是机械的叫你自我介绍,提前准备没有太大的用处,比如我同学被问到了:“could you please tell us the differences between tcp and udp protocal?”这种问题完全没有办法提前准备,只有尽人事听天命。

面试中一般涉及:英文题目、简单算法题(例如:在O(n)时间复杂度内找出一个数组中的中位数)、自己的项目介绍(前后端、ml这些都行,反正大胆说就好了)、基础课程:概率论、计网、操作系统等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值