![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
秒杀算法面试的N个理由
文章平均质量分 87
面朝代码,春暖花开
欢迎关注订阅号:码春儿,查看更多干货分享
展开
-
秒杀算法面试题的第6个理由——树状数组详解
今天介绍一种"高级"的数据结构——树状数组。 问题引出 如果我们需要对数组a进行以下两个操作,如何才能使得效率尽可能高? 单点修改:a[i]+=k 区间查询:求a[l:r]的和,即sum(a[l], a[l+1], … , a[r]) (1). 维护数组a 单点修改的复杂度为O(1),而区间查询的复杂度为O(n)。 (2). 维护数组a的前缀和 可以在O(1)的时间内完成区间查询,而单点修改却需要O(n),因为a[i]之后的所有数的前缀和都包含a[i],所以需要全部修改。 (3). 维护树状数组 考虑(原创 2021-06-06 09:38:30 · 141 阅读 · 0 评论 -
秒杀算法面试题的第3个理由——力扣周赛240期解析
比赛地址: https://leetcode-cn.com/contest/weekly-contest-240 先祝大家母亲节快乐!下面看题… Question 1 题目 输入一个二维整数数组 logs ,其中 logs[i]=[birthi,deathi]logs[i] = [birth_i, death_i]logs[i]=[birthi,deathi]表示第i个人的出生和死亡年份。年份x的人口定义为这一年期间活着的人的数目。第i个人被计入年份x的人口需要满足:x∈[birthi,deathi原创 2021-05-09 16:03:46 · 135 阅读 · 0 评论 -
秒杀算法面试题的第2个理由——矩阵连乘最小操作数
我是码春儿,将不定期分享面试中遇到的及力扣周赛中的题目,后续会有更多职业中的技术与心得体会分享,欢迎大家关注,让我们一起面向代码,春暖花开! 今天分享一道字节秋招面试中遇到的真题。 题目描述 给定N个矩阵的维度,返回计算其连乘积所需的最小操作数。(矩阵维度一定是可乘的) 示例: 输入:matrix_size: [[10, 10], [10, 10], [10, 1]] 输出:380 解析 两个矩阵相乘所需操作数 计算C=A*B,若A的维度为m×n,B的维度为n×k,则C的维度为,需要计算C中的m×k个数原创 2021-04-30 14:47:28 · 290 阅读 · 0 评论 -
秒杀算法面试的第1个理由——拼单词
我是码春儿,将不定期分享面试中遇到的及力扣周赛中的题目,后续会有更多职业中的技术与心得体会分享,欢迎大家关注,让我们一起面向代码,春暖花开! 题目描述 给定字母组合(无重复字母)和单词字典,求单词字典中,所有能够组成字母组合的单词对。 输入: letters:一个字母组合,如 ‘KNEATOW’ dictionary:一个单词字典,如{‘ATE’, ‘EAT’, ‘TEA’, ‘KNOW’, ‘CODE’} 输出:字典中所有能够组成字母组合的单词对,要求不重不漏 示例: 输入: letters: ‘KNE原创 2021-04-30 14:34:31 · 118 阅读 · 0 评论