
算法
文章平均质量分 86
wwwarewow
这个作者很懒,什么都没留下…
展开
-
唯一邀请码生成策略
利用生成邀请码时间戳进行生成,并且加上随机数,能保证不同时间生成的邀请码大部分不同(不排序小概率碰撞)。为了减少碰撞率,可以精确到毫秒颗粒度,但同时也增长了邀请码的长度。弊端:秒/毫秒颗粒度的时间长度(10/13位)+ 随机码(4位)会导致邀请码的长度达到10+位,这对于用户的体验是极其不好的,而且也容易被猜到邀请码的生成逻辑,因此此方案不推荐。1.通过方案一的弊端,我们知道生成一个合格的邀请码我们需要解决的第一个问题就是长度。长度的设置是关乎可生成邀请码的数量的范围,设置太少的话邀请码的范围有限,设置太长转载 2022-06-19 16:44:45 · 2775 阅读 · 0 评论 -
【Java】leetcode 15. 三数之和 3sum 中等难度
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:示例 2:示例 3: 排序 + 双指针题目中要求找到所有「不重复」且和为 0 的三元组,这个「不重复」的要求使得我们无法简单地使用三重循环枚举所有的三元组。这是因为在最坏的情况下,数组中的元素全部为 0,即任意一个三元组的和都为 00。如果我们直接使用三重循环枚举三元组,会得到 O(N^3)个满足翻译 2022-06-08 21:57:20 · 161 阅读 · 0 评论 -
leetcode 875. 爱吃香蕉的珂珂 koko eating bananas
珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。返回她可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。 由于速度是一个有范围的整数,因此可以使用「二分查找法」找到这个有范围的整数。分析这个问题的具翻译 2022-06-08 12:51:11 · 303 阅读 · 0 评论 -
页面置换算法 【美团暑期实习一面】
简单回顾下虚拟内存技术,基于局部性原理来实现,总结起来就是两句话:整个请求调页的过程大概是这样的:那么,到底哪些页面该被从内存中换出来,哪些页面又该被从磁盘中调入内存呢?这就是『页面置换算法』干的事儿。考虑这样一种情况:刚刚从内存中换出到磁盘的页面马上又要被重新换入到内存中,刚刚从磁盘中换入到内存的页面马上就要被换出来。这种频繁的页面调度行为称为抖动。这是页面置换过程中一种最糟糕的情形。所以,一个好的页面置换算法应有较低的页面更换频率,也就是说,应将『以后不会再访问或者以后较长时间内不会再访问的页面』先调出原创 2022-06-08 10:01:22 · 1105 阅读 · 0 评论