/blog/images/avatar.webp

Hello World

力扣133. 克隆图

力扣133. Clone Graph(克隆图)

给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val 和其邻居的列表。

示例 1:

../posts/01_学习/87_LeetCode/0133_克隆图/img/0133-1-description.png

力扣134. 加油站

力扣134. Gas Station(加油站)

在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。

力扣135. 分发糖果

力扣135. Candy(分发糖果)

n 个孩子站成一排,给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求给孩子们分发糖果:每个孩子至少分 1 颗糖果,相邻两个孩子评分更高的孩子会获得更多的糖果。请你计算最少需要准备多少颗糖果。

力扣136. 只出现一次的数字

力扣136. Single Number(只出现一次的数字)

给你一个非空整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

力扣137. 只出现一次的数字 II

力扣137. Single Number II(只出现一次的数字 II)

给你一个整数数组 nums,除某个元素仅出现一次外,其余每个元素都恰出现三次。请你找出并返回那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法,且不使用额外空间。

力扣138. 随机链表的复制

力扣138. Copy List with Random Pointer(随机链表的复制)

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。返回复制链表的头节点。

力扣139. 单词拆分

力扣139. Word Break(单词拆分)

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。字典中的单词可以重复使用。

力扣14. 最长公共前缀

力扣14. Longest Common Prefix(最长公共前缀)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “"。

示例 1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例 2:

力扣140. 单词拆分 II

力扣140. Word Break II(单词拆分 II)

给定一个字符串 s 和一个字符串字典 wordDict,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在字典中。以任意顺序返回所有这些可能的句子。

力扣141. 环形链表

力扣141. Linked List Cycle(环形链表)

给你一个链表的头节点 head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。返回 true 表示链表中有环,false 表示没有。

力扣142. 环形链表

力扣142. 环形链表 II

给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回 null

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos-1,则在该链表中没有环。

力扣143. 重排链表

力扣143. Reorder List(重排链表)

给定一个单链表 L 的头节点 head,单链表 L 表示为 L0→L1→…→Ln-1→Ln,请将其重新排列后变为 L0→Ln→L1→Ln-1→L2→Ln-2→…。你不能只是单纯的改变节点内部的值,而是需要实际的节点交换。

力扣146. LRU 缓存

力扣146. LRU Cache(LRU 缓存)

请你设计并实现一个满足 LRU(最近最少使用)缓存约束的数据结构。实现 LRUCache 类:LRUCache(capacity) 以正整数作为容量初始化,get(key) 如果关键字 key 存在于缓存中则返回关键字的值否则返回 -1,put(key, value) 如果关键字 key 已经存在则变更其值,否则插入该组。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值。

力扣147. 对链表进行插入排序

力扣147. Insertion Sort List(对链表进行插入排序)

给定单个链表的头 head,使用插入排序对链表进行排序,并返回排序后链表的头。插入排序是每次从未排序部分取第一个元素,在已排序序列中找到合适位置插入的算法。

力扣148. 排序链表

力扣148. Sort List(排序链表)

给你链表的头结点 head,请将其按升序排列并返回排序后的链表。你可以在 O(n log n) 时间复杂度和常数级空间复杂度下对链表进行排序吗?

力扣15. 三数之和

力扣15. 3Sum(三数之和)

给你一个整数数组 nums,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。

力扣150. 逆波兰表达式求值

力扣150. Evaluate Reverse Polish Notation(逆波兰表达式求值)

给你一个字符串数组 tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式并返回一个整数。有效的运算符为 ‘+’、’-’、’*’ 和 ‘/’ 。