
-----稀奇古怪秀-----
文章平均质量分 78
oj
Ypuyu
Ypuyu
展开
-
[M模拟] lc380. O(1) 时间插入、删除和获取随机元素(模拟+数据结构+脑筋急转弯+数组快捷删除技巧+项目思考)
其实这个题目抽象一下的话在项目中也能出现,可能日常项目中没有算法基础的话,就很容易直接去进行新内存开辟、重复遍历等操作。尤其是在哈希表删除后,又需要进行一个相同概率返回的这个操作的时候。常见就有重新遍历哈希表到临时数组对象中,然后再依靠 rand 函数进行返回。具体的看下如下代码即可,代码好理解,但如何运用到项目中去显著提高业务响应速度是值得我们去深思斟酌的。的,在高并发场景下,这就是妥妥的项目坑点啊。的,那么整体的时间复杂度就是妥妥的。次的查询情况下每一个遍历都是。原创 2025-02-09 23:48:12 · 1016 阅读 · 0 评论 -
[M前缀和] lcmeituan-002. 小美的仓库整理(前缀和+离线算法+二分+新思路)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:meituan-002. 小美的仓库整理2. 题目解析本题,难。看的高赞题解做的,题解区有一种逆向思维来做,也比较清楚,需要用并查集啥的,未研究。高赞题解做法:使用前缀和维护区间和,set 维护前缀和左右边界,map 维护区间最值。 十分巧妙…尤其是使用 set 维护前缀和左右边界的时候边界问题十分难考虑…使用 map 来记录 <区间和,出现次数>,输入一个 idx,在 set 中求得 [left,idx] 及 [idx,righ原创 2021-08-22 23:17:59 · 429 阅读 · 0 评论 -
[E链表] lc206. 反转链表(反转链表+模板题)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:迭代+原地逆置方法二:递归方法三:纯秀操作1. 题目来源链接:lc206. 反转链表2. 题目说明3. 题目解析方法一:迭代+原地逆置很经典,很易错,不要忘记处理最后的 head->next = NULL 情况。参见代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next;原创 2020-10-21 14:56:24 · 302 阅读 · 0 评论