小红书3-17笔试

3道编程题100 100 9

1.有一个技能可以随机消除数组中的一个元素,求使用两次后刚好消除掉最左边和最右边的概率,保留10位小数。

例子

输入

n = 2

输出

1.000000

输入

n =3

输出

0.3333333333

2.模拟题,就是简单根据商品关键词命中用户搜索的关键词的数量进行排序输出。

3.有n篇小红书笔记,每个笔记被点赞的概率相等,问当所有笔记的点赞数都是偶数时,点赞总数的期望是多少?答案mod10^9+7。

没什么头绪。。

#小红书##笔试##面经##春招##offer#
全部评论
第二题我也模拟了才9%。。我自测了数量相等的时候就是按照输入顺序输出的啊
1 回复
分享
发布于 03-17 21:15 山东
第一题我咋一直36%。。。绝望
1 回复
分享
发布于 03-17 21:19 上海
联易融
校招火热招聘中
官网直投
第三题有样例吗
1 回复
分享
发布于 03-17 21:54 上海
求一个第三题样例
1 回复
分享
发布于 03-17 22:48 河北
他这个题目考的太数学了,炸裂
点赞 回复
分享
发布于 03-17 21:54 香港
请问这是什么岗位的题,还考数学
点赞 回复
分享
发布于 03-23 08:54 河南
第三题是首次到达期望时间,类似于这个问题,「九个硬币最初全部背面朝上,每次随机翻转一个硬币,将全部硬币翻转为正面朝上的次数期望值是多少」。
点赞 回复
分享
发布于 04-19 21:39 美国

相关推荐

选择题跳过。编程题三题T1 签到,排序去重即可。T2 问刚好等于x。考虑01背包(下标从1开始)。dp[i][j][k]表示到第i个数,总共选取了j个,k=0表示[1~i]都没多次操作(都没加倍)。k=1表示[1~i]存在加倍的情况,可能是i,也可能是之前的某次。列出状态转移方程:dp[i][j][0] = min(dp[i-1][j][0], dp[i-1][j-a[i]/2][0]+1) 表示不选和选的情况。dp[i][j][1] = min(dp[i-1][j][1], dp[i-1][j-a[i]/2][1]+1, dp[i-1][j-a[i]][0]+1) 表示不选、选择但是不多次操作、选择并多次操作的情况。最后输出min(dp[n][x][0],dp[n][x][1])即可,若为inf则输出-1.第一维可以优化掉,空间O(x),时间O(nx)。T3 样例给的比较号是<和>这种,很神秘,最后发现直接改成都行。也考虑dp。先把等号去掉,那个不影响答案。假设有len个运算符dp[i][j]表示到第i个运算符右侧的数,选择j,所得到的方案数。如果第i个运算符是 > ,说明右侧的数更小,则 dp[i][j] = dp[i-1][j+1] + dp[i-1][j+2] + ... + dp[i-1][m]如果第i个运算符是 初始化dp[0][1~m] = 1,表示最左侧的数取任何数的方案数都是1最后对dp[len][1~m]求和即可。当然直接算会超时,毕竟要求和。实际上如果第i个运算符是 >,那么由于dp[i][j+1] = dp[i-1][j+2] + ... + dp[i-1][m],因此dp[i][j] = dp[i][j+1] + dp[i-1][j+1]。同理如果第i个运算符是 由于i只用到2个,因此可以压缩一维到大小为2.最后空间复杂度O(2*m) = O(m),时间复杂度O(n*m)#笔试##小红书#
投递小红书等公司9个岗位
点赞 评论 收藏
转发
5 19 评论
分享
牛客网
牛客企业服务