手撕红黑树、KMP…全程Hard题,2021算法面试难度逆天

2021年算法面试难度提升,要求面试者熟悉DP、KMP等,并能手写实现。文中列举了四道LintCode上的高难度题目,包括子集数量、异或和、段式石子归并和方格取数,邀请读者挑战。

纵观国内头部大厂的算法面试情况,可以说是诸神内卷,全员团灭。

而2021年的趋势是DP、KMP等都是信手拈来,个别公司还要求你手写实现,LC刷题数至少得达到300+,而且必须对题目有深刻的理解,能很好地应对难题、变形题和扩展题。

为此,九章也搜集了LC上的部分难题,各位不妨来试试自己能不能秒杀市面上的难题(文末有福利):

1772·子集数量

难度:☆☆☆☆

对于一个集合中的每个元素x,2x和3x均不在这个集合中。则称这个集合为好集合。

给定一个整数n。好集合中的元素大小在[1,n]中间。请你求出满足条件的好集合的个数。答案对1000000007取模。

n<=100000

 
 

输入:n=4 输出:ans=8 【样例解释】 有8 个集合满足要求,分别是空集,{1},{1,4},{2},{2,3},{3},{3,4},{4}。

免费做题链接:LintCode 领扣

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值