首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
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 ≤ 数组中不相同的元素的个数。…
矩阵中的最长递增路径
我们可以把矩阵每个单元格看作一个点,而若一个点的值小于相邻点的值,那么就看作这两个点之间有一条有向边,由小的点指向大的点。这样,求最长递增路径的问题,就变成了求有向无环图最长路径的问题。我们可以用深度优先搜索来解决。 那么问题又来了,如果直接使用深度优先搜索,那么将会大量重复计…