首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
javascript数据结构与算法
super_wanan
创建于2021-05-12
订阅专栏
该专栏主要介绍javascript数据结构,并通过刷题对数据结构和算法进行更深入理解。
等 1 人订阅
共13篇文章
创建于2021-05-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[LeetCode 165. 比较版本号] | 刷题打卡
给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,…
[LeetCode 56. 合并区间] | 刷题打卡
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。 请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 这题解题思路是使用排序,我们按照区间的左端点进行排序,那么在…
[LeetCode 135. 分发糖果] | 刷题打卡
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。 注意到糖果总是尽量少给,且从1开始累计,每次要么比相邻的同学多给一个,要么重新置为1。依据此规则,我们可以画出下图: 注意到在…
[LeetCode 11. 盛最多水的容器] | 刷题打卡
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 …
[LeetCode 146. LRU缓存机制] | 刷题打卡
缓存在计算机网络上随处可见,例如:当我们首次访问一个网页时,打开很慢,但当我们再次打开这个网页时,打开就很快。 这就涉及缓存在浏览器上的应用:浏览器缓存。当我们打开一个网页时,它会在发起真正的网络请求前,查询浏览器缓存,看是否有要请求的文件,如果有,浏览器将会拦截请求,返回缓存…
[LeetCode 896. 单调数列] | 刷题打卡
如果数组是单调递增或单调递减的,那么它是单调的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 题目言简意赅,就是判断数组是否为单调的,那么,首先我们要了解什么为单调。 如果对于所有 i <= j,A[i] <= A[j],那么数组 …
[LeetCode 704. 二分查找] | 刷题打卡
分享这个题目的主要目的就是通过一个简单的算法题,了解二分查找的核心思想。 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 你可以假设 nums 中的所有元…
[LeetCode 560. 和为K的子数组] | 刷题打卡
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e…
[LeetCode75. 颜色分类] | 刷题打卡
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 跳出题目场景描述,其实这道题目就是数组排序的问题。而且是只有0,1,2三个元素的数组排序。所以我们只需要保证0都在最前面,2都在最后面即可。 双指…
[LeetCode387.字符串中的第一个唯一字符] | 刷题打卡
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 提示:你可以假定该字符串只包含小写字母。 最最最容易想到的就是双层循环,但是算法追求的是最优解法,即较低的空间和时间复杂度,所以我们这里不对这种解法做举例。 遍历这个字符串,建立一个key为…
[LeetCode55.跳跃游戏] | 刷题打卡
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 如果能够到达最远的地方,那一定能到到最远前面的任意地方。 主要是能够理解,最远能到达某个位置,就一定能到达它前面的任何位置。
JavaScript数据结构与算法(二):链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表是由一组节点组成的集合。每个节点都使用一个对象的引用指向它的后继。指向另一 个节点的引用叫做链。链表有两个关键词:【非连续,非顺序】,【指针链接】 准确来说,链表的存储单元…
数据结构与算法(一):数组
数组,我们再熟悉不过了,任何一种语言都包含数组,只是形式上略有不同。所有编程语言中,都会有数组这一数据类型。不过,数组不仅仅是数据类型,还是计算机编程世界里最常见的数据结构。数组是编程语言中的内建类型,通常效率很高。可以满足不同需求的数据存储。 数组的标准定义是:一个存储元素的…