- 博客(2)
- 收藏
- 关注
原创 每日一题:颜色分类
每日一题:颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 进阶: 你能想出一个仅使用常数空间的一趟扫描算法吗? 第一种方法:基数排序,两次遍历 主要思路就是:第一次遍历来记录0、1、2的个数,第二次遍历根据0、1、2
2020-08-26 23:52:15
300
原创 一种缓存池
缓存池项目中一种缓存池 项目中一种缓存池 缓存池主要用来回收和分配对象,避免频繁创建对象。使用缓存池的原因是一方面创建对象存在消耗(详细什么消耗暂且不清楚),另一方面在C#中过多只用过一次的对象会增加GC。 缓存池也有很多细节,当缓存池对象被用完了,一种处理方式可以扩大缓存池容量,即new新的对象分配出去;另一种处理方式,也是今天学到的,可以利用优先队列,将使用频率最低的对象淘汰出去,不改变缓存池的容量,当然这种情况下的缓存池本来就有尽量不改变对象字段属性等的需求。 C#代码如下: //要缓存处理的对象,对
2020-08-26 21:51:31
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅