内存分配

这里主要讲一下模拟过程中遇到的问题和想法

首先,为了保证模拟正确,我们应该以时间为参考对象去模拟,这样比以即将进入的任务或者等待队列中的任务为参考对象讨论的情况更少,犯的错误更少,每到达一个新时间如果有任务进入或者有任务完成就可以进行处理

其次,这道题目的N非常大,所以我们不可能去模拟内存空间,换个思路,去存储在进行中的任务,每两个任务之间的空隙就是空内存(转换对象法)

然后,我们加入一个head和tail任务,来减少边界条件的判断

最后,我们查找一个任务的插入点的时候是用到从头到尾遍历,看起来是O(n2),实际上感觉确实是,但是达不到上界,也没啥其他更好的办法了

posted @   最爱丁珰  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示