无E烦 level
获赞
639
粉丝
48
关注
2
看过 TA
4068
南京大学
2024
算法工程师
IP属地:江苏
暂未填写个人简介
私信
关注
头像
2023-12-12 09:13
已编辑
南京大学 工程管理
华为 淘天一次性包含签字费,房补和余杭人才补贴 20k+5k
0 点赞 评论 收藏
转发
第一第二题ac了,最后一题暴力骗分20%,没时间细想了第一题,猴子摘桃   签到题输入n和两个长度为n的数组a,ba表示每颗树的高度b表示树上果子的高度小红(猴子)从第一颗树的第0高度开始,每次可以进行两个操作,1)高度加一或减一;2)移动到下一颗树的同等高度(要确保在下一颗树的高度范围内)求小红摘完全部果实的最小操作次数逐步模拟就行了,一次遍历,注意变量类型为long,不然只能过10%第二题,围圈圈n个人围成一圈,每个人只记得自己右手边的两个人,分别为a和b(ab并不一定按顺序)求围成一圈的人的顺序也算是模拟吧,从第一个人开始,每次确定下一个人是谁,一次遍历。注意特判n==3的时候,直接输出1 2 3,否则程序可能输出1 3 2,他们两的输入是一样的,但是判题器不认为1 3 2是对的,属于小bug,不特判的话输出了1 3 2只能过94%第二题详细一点的思路就是先确定第一个人为1(任何人都可以)然后依次看第idx个人i的右边两个人a[i]和b[i]是不是分别在对方的右边,如果a[i]==a[b[i]]或a[i]==b[b[i]],那么说明a[i]在b[i]右边,则i的右边顺序为b[i],a[i],反之则为a[i],b[i],那么i的下一个人就确定了,然后再去看idx+1第三题,最长递增子数组有两个长度为n的数组a,b和一个空数组c,现在可以每次从a或者b的开头将一个数字放入c中,直到a和b为空。求能够所有可能的c中最长递增子数组长度最长递增子数组:递增数组,且相邻元素差值为1直接暴力骗分过了20%,枚举所有a和b的升序子数组,将他们合并,看是否为递增子数组,讲道理顺着我这个思路复杂度应该可以再优化,不过因为先做的算法题,最后没多少时间了,骗了点分就去做选择题了后面想了一下,可以用两个滑动窗口来优化,不过也挺复杂的就是了蹲大佬的思路
投递阿里国际数字商业集团等公司10个岗位
0 点赞 评论 收藏
转发
牛客网
牛客企业服务