小红书笔试

第一题用例过,本地debug了一下感觉也没问题啊,咋只有18%呢

很暴力,俩二维数组sort排序两次
一个是a1[编号][支持度]
一个是a2[编号][收藏数]
a1先排,支持度大的,编号小的往后放,
按照a1的编号顺序把a2初始化,
然后a2再排,收藏数大的,编号小的往后放
是哪里出了问题

发现了,这么排肯定不对啊,第二个排序可能把支持度小但收藏度大的换上去了😂
好消息是,把第二个sort去掉,直接只排支持度和编号,可以过91%😂

上次笔试a一道挂的,这回更厉害,一道没a😅
全部评论
破大防,1.09/3,还不如上次呢
3 回复
分享
发布于 04-07 21:06 山东
第一题:写个结构体三关键字排序 第二题:评论数倒排序,,同时小根堆维护前k大点赞值 第三题:dpij,前i个数,第i个数为j的方案数,要维护一下dpij的前缀和 总的来说比较基础,大概1easy1mid1hard
3 回复
分享
发布于 04-07 21:18 福建
联想
校招火热招聘中
官网直投
public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int k = in.nextInt(); int[][] rate = new int[n][4]; for (int i = 0; i < n; i++) { rate[i][0] = in.nextInt(); rate[i][1] = in.nextInt(); rate[i][2] = rate[i][0] + rate[i][1] * 2; rate[i][3] = i+1; } Arrays.sort(rate, (a, b) -> { //支持度相同 if (a[2] == b[2]) { //点赞数相同 if(a[1]==b[1]){ //编号 return a[3]-b[3]; }else{ //点赞数 return b[1]-a[1]; } }else{ //支持度 return b[2]-a[2]; } }); List<Integer> res=new ArrayList<>(); for(int i=0;i<k;i++){ res.add(rate[i][3]); } res.sort((a,b)->a-b); for(int t:res) System.out.print(t+" "); }
3 回复
分享
发布于 04-07 21:25 重庆
写了2.19 想要个面试呜呜呜
2 回复
分享
发布于 04-07 21:15 湖北
先排score,取前k个编号,然后排编号
1 回复
分享
发布于 04-07 21:09 山东
排序+前缀数组+小根堆 只过了55%,最后一个是dp,第一题就单纯的各种排序,一个排序过去就能a
1 回复
分享
发布于 04-07 21:17 辽宁
一样啥问题呢
点赞 回复
分享
发布于 04-07 20:44 广东
我第一题27 超时了 佬后面写了吗
点赞 回复
分享
发布于 04-07 20:45 江苏
输出有条件,相当于你要把输出的结果再次排序,按升序输出
点赞 回复
分享
发布于 04-07 20:50 江西
leetcode 347. 前 K 个高频元素
点赞 回复
分享
发布于 04-07 20:51 浙江
xdm们,只排支持度和编号可以过91%
点赞 回复
分享
发布于 04-07 20:55 河北
点赞 回复
分享
发布于 04-07 20:57 浙江
我用一个class记录了粉丝的编号,点赞数,收藏数,支持力度,然后用set存的,自定义了set的排序方式,然后直接从这个set里取k个就是前k个
点赞 回复
分享
发布于 04-07 20:58 天津
我只想问问第二题有A了的没
点赞 回复
分享
发布于 04-07 21:05 江西
用Python吗?可以用sorted的key,给一个匿名函数,就能自动按顺序排序,顺序逆序就在要逆序的数字前加个负号就行
点赞 回复
分享
发布于 04-07 21:07 河北
91好像是因为:编号小的要放前面。你写成编号大的放前面了
点赞 回复
分享
发布于 04-07 21:44 广东
终于没人ak了,我自信了
点赞 回复
分享
发布于 04-07 22:23 辽宁
a多少才能进面啊
点赞 回复
分享
发布于 04-07 23:52 湖北
我三道题都是9%
点赞 回复
分享
发布于 04-08 08:22 陕西
难道案例不一样?只排支持度我就过不了
点赞 回复
分享
发布于 04-08 08:24 陕西

相关推荐

1 7 评论
分享
牛客网
牛客企业服务