小红书后端笔试-0908

#软件开发笔面经#
选择题:一半靠蒙(ps:为什么每次都要考kmp啊,这次下来一定要研究下了)
算法题:
1. 记忆化dfs搜索
2. 每个位置被计算的次数分别为1*n | 2*(n-1) | 3 *(n-2) | ....| n*1;将次数倒排,数字正排,算对应位置的乘积和即可
3. 先将每个a放入hashmap,然后遍历a数组,递归看看g(a_i)是否在hashmap中统计数目,同时记忆化已经计算过的a_i避免重复递归;关键在于如何求g(x),找到x第一个1后面的第一个0的位置pos以及这个0后面的1的数目num,g(x) = ((x >> pos)<<pos) + (1 << pos) + (1 << (num - 1)) - 1;
全部评论
第二题是这样做的,但只有27%
点赞 回复 分享
发布于 2024-09-08 16:05 江苏

相关推荐

代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务