哎,看来一天写一篇算法有点不是很可能哦,利用中午时间把一道网上的百度笔试题写下嘿嘿
题目如下:
在处理磁盘数据时,需要首先将其读入内存才能进行处理。如果要读取的数据已经在内存中,则可以直接 访问内存。通常来说内存是有限的,因此要读取新的数据时必须覆盖内存中一部分原有的数据。假设现在有n块同样大小的数据,内存一共可以容纳m块数据。现在给出 一系列对这些数据的读取请求,要求它们必须按照给定的顺序被读取,同时要求读取磁盘 的次数尽可能地少。请简述一个策略满足这样的要求。
整个系统分为三部分:
1.内存,可以存放m块数据
2.外存磁盘,有n块数据
3.数据队列,存放了数据读取的顺序 (一系列对数据的读取请求)
例如n为3 (1,