小红书笔试

小红书

投递:20210812 官网+内推码

笔试:20210821

  1. 魔法师过河问题:河里有石头,黑的,白的,没颜色的;魔法师要想过河,必须黑色白色数量一样才可以;没颜色的需要消耗能量涂色成黑/白色,不同石头涂颜色需要消耗不同的能量;如果魔法师可以过河,输出消耗的最少能量;不可以的话,输出-1

    输入样例:10个石头,随后有10行数据,每一行开始第一个数字:1表示白色,2表示黑色,0表示没颜色,0后跟的两个数分别表示变白色和变黑色需要消耗的能量。

    思路:计数1和2分别记为p和q,当两个数量任一大于n/2 或者 n不是偶数,就无法保证黑白数量一致,无法过河。然后将0的存到二维数组中,从第一维选择n/2-p个位置计算能量和,表示涂成1的能量,剩下的位置直接涂成2,加和。循环,找到最小的能量

    输入输出用例:

    10 
    1
    1
    0 1 2
    2
    2
    2
    1
    0 2 4
    0 2 8
    1
    8
  2. 小红书每周四会给同学们发放零食水果,假设我们的工位是一个N*N的形状,并且有一些工位上是空的。阿姨会从左上角的工位开始发零食,每次向一个相邻(上下左右四个方向)的工位移动。为了零食能尽快发完,阿姨希望只经过有同学在的工位并且每个工位只经过一次,最后一个收到零食的同学也需要是在最后一排,请问阿姨总共有多少种移动的方案?

    • 第一行一个整数N (0<N<=7)
    • 接下来是N*N个字符,“.”代表这个工位有人,“#”代表这个工位是空的。
    • 从左上角(1,1)位置开始,依次经过(1,2), (2,2), (2,1), (3,1), (3,2), (3,3)

    思路:dfs,四个方向,注意边界

    3
    ..#
    ..#
    ...
    1
  3. 周末到了,薯队长跟伙伴们约好去电影院放松一下,他们准备看三场电影。 请你根据电影院的场次安排,帮薯队长预定三场电影,使得观看总时间最长。这三场电影时间不得重叠。第一行一个整数N,表示可以预定的总场次数 (0<N<=2000)

    接下来N行,分别表示场次的开始和结束时间,时间格式为 "hh:mm-hh:mm"(开始时间早于结束时间,范围在[00:00,23:59])。如果一场电影的结束时间和另一场电影的开始时间相同,薯队长可以同时预定这两场。

    一个整数,表示最大的总时间(分钟计),如果无法预定三场,则输出0

    思路:首先字符串解析出开始时间、结束时间,其余操作同题目1,排序+组合选择问题+最值

#面试复盘##小红书#
全部评论
第一题肯定不能暴力 假设有一种方案 把石头某一堆涂成了白色  剩下一堆涂成了黑色 我随便从白堆拿石头x 黑堆拿石头y 我们考察交换他们的颜色是不是更好 也就是说x[0]+y[1]和x[1]+y[0]的大小 如果x[0]+y[1]>x[1]+y[0] 就让他们交换 也就是说x[0]-x[1]>y[0]-y[1]的时候 我们一定要让x去涂成黑色 y涂成白色 因此我们直接对于每个石头x存入堆中将x[0]-x[1]作为排序依据 然后堆顶的元素涂成白色 直到白色够了 剩下的涂成黑色 复杂度nlogn
8
送花
回复
分享
发布于 2021-08-21 12:47
第三题不用解析时间 表示时间的字符串的长度是一样的 他们的大小排序其实和时间排序是一致的 我们认为一场电影的收益value就是结束时间剪去开始时间 然后按照结束时间进行排序 然后就是背包问题了 记dp[i][k]为前i场电影里面选k场的最大收益 然后状态转移到i+1的时候 用第i+1场电影的开始时间start去二分查找前i场中结束时间小于start的最大的那场电影j 用max(dp[j][k-1]+value[i], dp[i-1][k] )更新dp[i][k]
3
送花
回复
分享
发布于 2021-08-21 13:24
滴滴
校招火热招聘中
官网直投
老哥都 a 了吗
1
送花
回复
分享
发布于 2021-08-21 12:27
有大佬把代码贴上吗,难受
点赞
送花
回复
分享
发布于 2021-08-21 12:37
老哥你A了多少
点赞
送花
回复
分享
发布于 2021-08-21 12:38
第一题会超时了吗这样做?
点赞
送花
回复
分享
发布于 2021-08-21 12:41
第二题看看能不能回溯 注意一点 得预处理一下第一次达到最后一排 而且达到的是同学[n-1][i]的时候 阿姨还有几种最后一排继续走的方案数  然后回溯的时候搜到最后一排同学[n-1][i]的时候方案不是+1是加上之前预处理的方案数
点赞
送花
回复
分享
发布于 2021-08-21 13:04
请问一下,第2题是必须要求最后一个是最后一行吗?我是不是题意理解错了
点赞
送花
回复
分享
发布于 2021-08-21 13:05
第二题是每个工位都要走一遍还是有的不用走,只走有人的工位旁边?根本看不懂题目条件到时要求啥
点赞
送花
回复
分享
发布于 2021-08-21 13:10
第二题有a的吗?
点赞
送花
回复
分享
发布于 2021-08-21 13:28
第一题有大佬贴一下代码吗 这输入输出给我整麻了😅
点赞
送花
回复
分享
发布于 2021-08-21 14:09
排名第一的央企成员企业招聘啦,南京,深圳皆岗,内推码yangj008 https://www.nowcoder.com/discuss/714257
点赞
送花
回复
分享
发布于 2021-08-21 14:42

相关推荐

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