小米两道算法题击碎我的offer梦
第一道题可以转化为求零到n区间的最大值,但这个区间的元素一直是动态更新的。用了暴力法,最后a了64%,后来想优化,实在想不到怎么把求解最大值和更新的时间复杂度降低至O(1)了。
第二道题相当于是给定一个数组,通过k次变换(即一次变换时可以将某个索引的数改成任意一个值),求所有数差值绝对值的最小值。
第二道题可惜完全没有思路😭😭😭
一开始做题环境检测,这过不去那过不去,我还是坚持克服万难进去做题,没想到直接算法题当头一棒,早知道就相信玄学就下次再做了😭
总之还是自己太菜了,害~
第二道题相当于是给定一个数组,通过k次变换(即一次变换时可以将某个索引的数改成任意一个值),求所有数差值绝对值的最小值。
第二道题可惜完全没有思路😭😭😭
一开始做题环境检测,这过不去那过不去,我还是坚持克服万难进去做题,没想到直接算法题当头一棒,早知道就相信玄学就下次再做了😭
总之还是自己太菜了,害~
全部评论
首先用long long,由于每一次都是从最左边向下,所以每一次只需要比较最左边n个元素中第一个和最后一个元素的最大值,记作a,然后将该区间内所有值变成a+h,h即为高度。如此即可,第二题是二分
第一题线段树 logn 查询,更新只需要 o1 时间 更新0 号元素即可
比我强,我两题都没做出来。第一道题,笔试的时候脑子里一片乱,结果笔试完几分钟后想出来了。
我是一道求俄罗斯方块,一道爬山dp
是笔试吗
64%咋优化
相关推荐
点赞 评论 收藏
分享
昨天 13:02
防灾科技学院 会计 点赞 评论 收藏
分享
点赞 评论 收藏
分享