0820网易笔试后端通用卷

好难,算是我遇见的最难的一次笔试了
第一题:两个数a、b,每次删除一个数位,求出最小的操作次数使得a是b的倍数,或b是a的倍数(15分)
第二题:嘤嘤,114514哼哼哼啊阿啊阿啊阿啊,锯齿长城数。对于每个数,使得左右两边数相等,且不等于自己(20分)
第三题:小红,red,好e:e夹在r和d之间,最少的操作次数达到最多的好e(30分)
第四题:三元组,找到 i < j < k 使得 arr[i] == arr[k] 且arr[i] > arr[j],找出这样三元组的个数(35分)

第一题完全没有思路,输出4赚20%
第二题把计数int改为long100%
第三题完全没有思路,输出0赚36%
第四题暴力66.67%

有无懂哥讲讲1、3、4咋做的
#做完网易2023秋招笔试题,我裂开了#
全部评论
第四题 树状数组+离散化+哈希表,线段树也是可以的 主要思路就是  对于每个a[i],维护大于a[i]的方案数(这个方案数就是a[i]左边切大于a[i]的每一个数*右边相同数的个数最后求和),每次i移动的时候需要更新一下答案 最后需要一个可以进行单点修改+区间查询的数据结构(线段树...树状数组)
4 回复 分享
发布于 2022-08-21 18:07 河南
第四题应该没错
1 回复 分享
发布于 2022-08-20 17:35 湖北
第一题两个回溯,求出所有的组合,然后在两个循环去遍历能不能整除,整除的时候去维护一个最小操作数
1 回复 分享
发布于 2022-08-20 20:33 浙江
第四题暴力输出改为long能多a10
1 回复 分享
发布于 2022-08-20 23:08 广东
可以问下这个输出0 是直接写输出0吗?😂
点赞 回复 分享
发布于 2022-08-20 17:40 江苏
暴力没有超时么,呜呜我超时了不知道算不算分
点赞 回复 分享
发布于 2022-08-20 18:02 广东
        int len = sc.nextInt();         int[] nums = new int[len];         for(int i=0;i<len;i++){             nums[i] = sc.nextInt();         }         int count = 0;         for(int i = 1;i<len-1;i++){             Map<Integer,Integer> map = new HashMap<>();             for(int j=0;j<i;j++){                 if(nums[j]>nums[i]){                     map.put(nums[j],map.getOrDefault(nums[j],0)+1);                 }             }             for(int j=i+1;j<len;j++){                 if(nums[i]<nums[j]){                     count+=map.getOrDefault(nums[j],0);                 }             }         } 这个答案不知道第四题能过不。。交卷后写的
点赞 回复 分享
发布于 2022-08-20 20:26 湖北
第一题数字分解成各位上数的数组,然后循环去掉一位,放Hashset里去重,两个set双重循环判断能不能除尽,一次不行就把set再分解,再比较判断
点赞 回复 分享
发布于 2022-08-20 22:30 新疆
第一题bfs枚举出来所有可能,然后遍历一遍就可以;第三题最多好e的过了80%,主要是奇数长度的字符串满足最多好e只有两种可能,偶数的不会算;最后一题,用二分统计一下前缀,hash记录一下相同值的坐标,最后双指针处理一下结果就可以
点赞 回复 分享
发布于 2022-08-20 23:58 湖北
第一题用的状压100%;第二题要注意int换成long 100%;第三题没思路,随机通过了27%;第四题思路是双指针分别放在i和k上用num记录当前i和k之间的小于i位置的元素个数,移动k到k+1时候判断k位置的数是否小于i位置的数,小于则num加1,每遍历完一次k则最终结果加上num,num归零,时间复杂度O(n2),感觉应该可以100%,可惜死磕第三道加上开考前十几分钟连不上网,没做第四题
点赞 回复 分享
发布于 2022-08-21 11:32 浙江

相关推荐

点赞 评论 收藏
分享
6 10 评论
分享
牛客网
牛客企业服务