朴素算法Bare Algo

LeetCode 热题 100

LeetCode 官方精选的 100 道高频面试题,涵盖各类核心算法与数据结构。

算法题

(110)
1. 两数之和
简单
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
数组哈希表
49. 字母异位词分组
中等
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
数组哈希表字符串排序
128. 最长连续序列
中等
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
数组哈希表并查集
283. 移动零
简单
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
数组双指针
11. 盛最多水的容器
中等
给定一个长度为 n 的整数数组 height ,找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
数组双指针贪心
15. 三数之和
中等
给你一个整数数组 nums ,判断是否存在三元组满足 nums[i] + nums[j] + nums[k] == 0 。
数组双指针排序
42. 接雨水
困难
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
数组双指针动态规划栈单调栈
3. 无重复字符的最长子串
中等
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
哈希表字符串滑动窗口
438. 找到字符串中所有字母异位词
中等
给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。
哈希表字符串滑动窗口
560. 和为 K 的子数组
中等
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。
数组哈希表前缀和
239. 滑动窗口最大值
困难
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。返回 滑动窗口中的最大值 。
数组队列滑动窗口堆单调队列
76. 最小覆盖子串
困难
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。
哈希表字符串滑动窗口
53. 最大子数组和
中等
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
数组分治动态规划
56. 合并区间
中等
以数组 intervals 表示若干个区间的集合。请你合并所有重叠的区间,并返回一个不重叠的区间数组。
数组排序
189. 轮转数组
中等
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
数组数学双指针
238. 除了自身以外数组的乘积
中等
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。
数组前缀和
41. 缺失的第一个正数
困难
给你一个未排序的整数数组 nums,请你找出其中没有出现的最小的正整数。
数组哈希表
73. 矩阵置零
中等
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。
数组哈希表矩阵
54. 螺旋矩阵
中等
给你一个 m 行 n 列的矩阵 matrix ,请按照顺时针螺旋顺序 ,返回矩阵中的所有元素。
数组矩阵模拟
48. 旋转图像
中等
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
数组数学矩阵
240. 搜索二维矩阵 II
中等
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。
数组二分查找分治矩阵
160. 相交链表
简单
给你两个单链表的头节点,请你找出并返回两个单链表相交的起始节点。
哈希表链表双指针
206. 反转链表
简单
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
链表递归
234. 回文链表
简单
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。
链表双指针栈递归
141. 环形链表
简单
给你一个链表的头节点 head ,判断链表中是否有环。
链表双指针哈希表