首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
123同志48830
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
前端算法渣的救赎之路🚀
首先这是一份面向面试的算法题,题目主要选自leetcode中hot 100 | 腾讯精选50题 | 精选Top面试题 | 剑指offer | 面试中遇到的一些算法题,全文122题,基本涵盖了前端面试中的算法题分类。因为个人能力有限,所以题目几乎是easy | mid,并且搬运了…
前端进阶算法:别再说你不懂topk问题了
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素。 在 V8 引擎 7.0 版本之前,数组长度小于10时, Array.prototype.sort() 使用的是插入排序,否则用快速排序。 在 V8 引擎 7.0 版本之后就舍弃了快…
讲讲堆Heap
首先堆是一个完全二叉树,堆可以分为大顶堆,小顶堆。大顶堆指的是root节点大于左右子孩子节点。小顶堆指的是root节点小于左右子孩子节点。 我们把二叉树的节点按照层从左到右依次填充到数组中。如果当前节点是第i个数据,那么 比如 B节点,B的坐标为2,left child 坐标为…
二叉堆及堆排序
二叉堆有两种:最大堆和最小堆。 最小堆:父结点的键值总是小于或等于任何一个子节点的键值。 1、把无序数组构建成二叉堆。 2、循环删除堆顶元素,移到集合尾部,调节堆产生新的堆顶。
JavaScript实现堆
由于JavaScript缺少内置的优先队列实现(例如Java的PriorityQueue,Python的heapq),导致刷题时碰到优先队列相关的题只能换语言写,还是自己写一个吧。 作为前置知识,首先要了解一下堆的基本概念。 堆首先是一棵完全二叉树,也就是每层从左边依次填充的二…
215. 数组中的第K个最大元素
维护一个含有K个元素的小顶堆,最终堆顶即为第K个最大元素。 以数组的前K个元素建一个小顶堆。 扫一遍数组的剩下N-K个元素,当遇到大于堆顶的元素,删掉堆顶,把这个元素加入堆并build。 扫完后,堆顶即为结果。 1. 手写小顶堆 topk (前k大)用小根堆,维护堆大小不超过 …
字节跳动最爱考的 64 道算法题(JS版)
现在大厂面试中,算法题几乎为必考项,且近几年频现 LeetCode 真题,此篇为拿到字节、腾讯、京东 Offer 的笔者本人在准备面试过程中亲自刷过以及遇到过高频算法题。文章内容会分模块整理,对于笔者在面试过程中遇到的真题,会给予着重 【🔥】标出。 同时,可以毫不客气的说,如…
高频算法面试题:快慢指针
今天(2019-05-10)中午吃饭的时候刷了下技术类型的公众号,看到有前辈过了Ant的高P面试,其中有一道题考查了单链表搜索位于中间的节点的算法。看着算法就饭,觉得解决方案很有趣,于是这里尝试重现一下。 大佬X:简单地实现,遍历一遍整个的链表,然后计算出链表的长度,进而遍历第…
【动画】求解前 K 个高频元素的三种解法
今天分享的题目来源于 LeetCode 上第 347 号问题:前 K 个高频元素。题目难度为 Medium,目前通过率为 56.9% 。 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。…
矩阵中的最长递增路径
我们可以把矩阵每个单元格看作一个点,而若一个点的值小于相邻点的值,那么就看作这两个点之间有一条有向边,由小的点指向大的点。这样,求最长递增路径的问题,就变成了求有向无环图最长路径的问题。我们可以用深度优先搜索来解决。 那么问题又来了,如果直接使用深度优先搜索,那么将会大量重复计…