
算法笔试
DebugMyself
种一棵树最好的时间是十年前,其次是现在
展开
-
网易2020/8/8笔试题(四)
第一题地址:网易2020/8/8笔试题(一)第二题地址:网易2020/8/8笔试题(二)第三题地址:网易2020/8/8笔试题(三)接上篇博客,网易笔试题第四题:学术认可。高校中有n个教授,可以在评定中每个教授可以投出自己认可的教授,每个教授可以投多个人,也可以投自己。规定若A认可B,B认可C,则A也认可C。问有多少对教授是互相认可的?输入为n(教授个数),m(认可的关系数),以及m组数字,每组数字代表一个单向认可的关系,如1 3表示教授1认可教授3。对于输入案例:5原创 2020-08-11 19:30:16 · 990 阅读 · 0 评论 -
网易2020/8/8笔试题(三)
接上篇博客,网易笔试第三题:平分物品。给出n个物品和它对应的价值,可以舍弃几件物品,现在要将物品分给两个人,两个人得到的物品数量可以不一样,但是得到的价值必须是一样的,问最少可以舍弃多少价值的物品?输入为T(有多少组案例),n(物品数量),a(有n个数字,a[i]表示第i个物品的价值)。输出为一个数字,表示最少可以丢弃的物品价值。如对于案例输入:1530 60 5 15 30输出应为:20即应该丢弃价值为5和15的物品,然后将剩下的物品平分给两...原创 2020-08-10 12:28:00 · 1775 阅读 · 0 评论 -
网易2020/8/8笔试题(二)
接上篇博客,网易笔试第二题:买票问题。游乐场中有n个人排队买票,早上8点开始卖票,每个人买票的方式有两种:① 单独买,只买自己的票,每个人花费时间为a[i]秒② 和后一个人一起买,一共花费时间为b[i]秒最后一个人只能和前面的人一起买或者单独购买。游乐场希望尽早下班,问游乐园最早下班时间为几点?输入为T(有多少组案例)、n(有多少个人排队)、a(有n个数字,a[i]表示第i个人单独买花费的时间)、b(有n-1个数字,b[i]表示第i个人与前一个人一起买花费的时间)。输出为:08:原创 2020-08-09 16:12:00 · 1925 阅读 · 0 评论 -
网易2020/8/8笔试题(一)
给出含有n个正整数的数组a,对于每个a[i],将a[i]拆为若干个和为a[i]的正整数,问拆后最多能有多少个素数。如5可以拆为2,3,则有两个素数(1不为素数)。6可以拆为2,2,2,则有三个素数。因为需要最大化拆后的素数个数,故思路为:将数组a中所有数字取一一出来,若数字为奇数,则拆为一个3和一堆2,若数字为偶数则拆为一堆2。Talk is cheap, show me the code.import java.util.Scanner;public class NETest1.原创 2020-08-08 19:59:34 · 1592 阅读 · 2 评论 -
阿里2020/8/3笔试题(二)
接上一篇文章,阿里笔试题第二题。使用了马后炮实现法,考场上实现不了就考完查资料再实现。第二题:给定一个字符串,字符串只包含abcdef 6个字母,求满足下列规则的最长子序列的长度:1、a必须在c,e前,c必须在e前;2、b必须在d,f前, d必须在f前;两个条件互相独立,因此可以将字符串拆为两个子串,一个子串只含a,c,e三个字母,另一个子串只含b,d,f三个字母,然后分别求两个字串的最长子序列的长度,再求两个长度之和即可。解法与LeetCode第300题解法相同(注意LeetCode第30原创 2020-08-05 21:54:22 · 787 阅读 · 1 评论 -
阿里2020/8/3笔试题(一)
阿里笔试共一个小时,两道编程题目,平台为牛客网。没做出来,重在参与了。第一题有思路,但是后来经验证还是有漏洞,遂去牛客找大佬的思路,因此用本博客来记录一下打怪生涯。第一题:有n个人,每人有对应的钱币,有m个房子,每个房子有对应的价值和舒适度。每个人只能买一个房子,每个房子只能被一个人买,求最大的舒适度和。思路:贪心算法,让每个人买能够买范围内舒适度最高的房子。需注意要让钱少的人优先买,不然可能会造成钱多的人把价格低但舒适度高的房子买走,导致钱少的人没钱买房子的现象。Talk is che原创 2020-08-05 19:22:04 · 639 阅读 · 0 评论