首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端算法面试必刷题系列
文斌大大鸟
创建于2021-05-10
订阅专栏
算法是每个工程师必须掌握牢固的内容,本系列就是选取一些核心的算法带大家一起看,啃硬骨头。
等 46 人订阅
共92篇文章
创建于2021-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
前端算法面试必刷题系列[33]
57. 删除有序数组中的重复项 II (remove-duplicates-from-sorted-array-ii) 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修…
前端算法面试必刷题系列[32]
56. 单词搜索 (word-search) 给定一个二维网格和一个单词,找出该单词是否存在于网格中。其实就是找个字符路径 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用(所以要记录v…
前端算法面试必刷题系列[31]
53. 组合 (combinations) 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 54. 子集 (subsets) 给你一个整数数组 nums ,数组中的元素互不相同 。返回该数组所有可能的子集(幂集)。 解集不能包含重复的子集。你可以按任…
前端算法面试必刷题系列[30]
52. 最小覆盖子串 (minimum-window-substring) 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意:如果 s 中存在这样的子串,我们保证它是唯一…
前端算法面试必刷题系列[29]
50. 搜索二维矩阵 (search-a-2d-matrix) 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 我们看到有序序列的查找问题,就想到可用二分查找。…
前端算法面试必刷题系列[28]
48. 简化路径 (simplify-path) 给出一个 Unix 的文件路径,要求简化这个路径。 始终以斜杠 '/' 开头。 两个目录名之间必须只有一个斜杠 '/' 。 最后一个目录名(如果存在)不能 以 '/'结尾。 此外,路径仅包含从根目录到目标文件或目录的路径上的目录…
前端算法面试必刷题系列[27]
46. x 的平方根 (sqrtx) 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 首先我们确认题目是查找根,而且是有单调性的,二分法可用。 47. 爬楼梯 (cli…
前端算法面试必刷题系列[26]
45. 二进制求和 (add-binary) 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。例如 1. js 中二进制与十进制的相互转换 如果输入的 string以 "0x"或 "0x"(一个0,后面是小写或大写的X)开头,…
前端算法面试必刷题系列[25]
43. 最小路径和 (minimum-path-sum) 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。 然后上篇,我们有两个类似题提前看下,这题就太简单了。 dp(i, j) 表示从…
前端算法面试必刷题系列[24]
41. 不同路径 (unique-paths) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?注意这题是不…
前端算法面试必刷题系列[23]
40. 旋转链表 (rotate-list) 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 由于是循环旋转,最终状态其实是确定的,利用链表的长度取余可以得到链表的最终旋转结果。 链表题一定要画图,模拟指针移动过程,写出1,2,3 步,就很清晰…
前端算法面试必刷题系列[22]
39. 排列序列 (permutation-sequence) 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”,“132”,“213”,“231”,“312”,“321”,…
前端算法面试必刷题系列[21]
36. 合并区间 (merge-intervals) 合并给的多个区间,区间有重叠的要进行区间合并。 先按照区间起点进行排序。 然后从区间起点小的开始扫描。 依次合并每个有重叠的区间。 37. 插入区间 (insert-interval) 给你一个 无重叠的 ,按照区间起始端点…
前端算法面试必刷题系列[20]
34. 螺旋矩阵 (spiral-matrix) 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 35. 跳跃游戏 (jump-game) 给定一个非负整数数组,最初位于数组的第一个位置。数组中的每个元素代表在该位置可以跳跃的最…
前端算法面试必刷题系列[19]
33. 最大子序和 (maximum-subarray) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 而动态规划求出的是最优状态,所以必然也是针对状态的操作,而状态自然可以出现在最优解中,也可以不出现——这便是决策的特…
前端算法面试必刷题系列[18]
31. 旋转图像 (rotate-image) 给出一个二维数组,要求顺时针旋转 90 度。 顺时针旋转的几何拆分,其实就是按照对角线对折,再按中轴对折就是结果。看下面图例 32. 字母异位词分组 (group-anagrams) 给定一个字符串数组,将字母异位词组合在一起。字…
前端算法面试必刷题系列[17]
30. 全排列II (permutations-ii) DFS +回溯 基本思路 + 详细解析 + 解析模板
前端算法面试必刷题系列[16]
28. 缺失的第一个正数 (first-missing-positive) 找到缺失的第一个正整数。 使用hashMap 用空间换时间。 为了减少时间复杂度,可以把 input 数组都装到 map 中,然后 j 循环从 1 开始,依次比对 map 中是否存在 j,只要不存在 j…
前端算法面试必刷题系列[15]
25. 搜索插入位置 (search-insert-position) 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 在有序数组中找到最后一个比 target 小的元素。 …
下一页