随笔分类 - LeetCode
刷题
摘要:题目来源 328. 奇偶链表 题目详情 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。 你必须在
阅读全文
摘要:题目来源 239. 滑动窗口最大值 题目详情 给你一个整数数组 nums,有一个大小为 k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入: nums = [1,3,-1,-3,5,3,6
阅读全文
摘要:题目来源 74. 搜索二维矩阵 题目详情 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [[1,3,5,7],[10,11,16,20],[2
阅读全文
摘要:题目来源 149. 直线上最多的点数 题目详情 给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1: 输入: points = [[1,1],[2,2],[3,3]] 输出: 3 示例 2: 输入:
阅读全文
摘要:题目来源 191. 位1的个数 题目描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您
阅读全文
摘要:题目来源 460. LFU 缓存 题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象 int get(int key) - 如果键 key 存在于缓存中,
阅读全文
摘要:题目来源 209. 长度最小的子数组 题目详情 给定一个含有 n个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。** 如果不存在符合条件的子
阅读全文
摘要:题目来源 18. 四数之和 题目详情 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <=
阅读全文
摘要:题目来源 567. 字符串的排列 题目详情 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 示例 1: 输入: s1 = "ab" s2 = "eidbaooo"
阅读全文
摘要:题目来源 714. 买卖股票的最佳时机含手续费 题目详情 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了
阅读全文
摘要:题目来源 188. 买卖股票的最佳时机 IV 题目详情 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: prices
阅读全文
摘要:题目来源 123. 买卖股票的最佳时机 III 题目详情 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: prices
阅读全文
摘要:题目来源 354. 俄罗斯套娃信封问题 题目详情 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算 最多能有
阅读全文
摘要:题目来源 516. 最长回文子序列 题目详情 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入: s = "bbbab" 输出: 4 解释: 一个可能的最长回文子序列为 "
阅读全文
摘要:题目来源 61. 旋转链表 题目详情 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k个位置。 示例 1: 输入: head = [1,2,3,4,5], k = 2 输出: [4,5,1,2,3] 示例 2: 输入: head = [0,1,2], k = 4 输出: [2,
阅读全文
摘要:题目来源 92. 反转链表 II 题目详情 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入: head = [1,2,3,4,5], left
阅读全文
摘要:题目来源 141. 环形链表 题目详情 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不
阅读全文
摘要:题目来源 316. 去除重复字母 题目详情 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 注意: 该题与 1081 https://leetcode-cn.com/problems/smallest-sub
阅读全文
摘要:题目来源 402. 移掉 K 位数字 题目详情 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个
阅读全文
摘要:题目来源 7. 整数反转 题目详情 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入: x = 123
阅读全文