Leetcode
刷题记录
白鹿贞松
宁鸣而死,不默而生
展开
-
LeetCode 11. 盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。输入:[1,8,6,2,5,4,8,3,7],若移动j那么,在i和j之间的元素j’,即使。,所以,移动更小值才可能寻找到最优解。,但是j’与i之间的面积为。原创 2024-04-24 00:14:39 · 98 阅读 · 0 评论 -
LeetCode 289.生命游戏————2024 春招冲刺百题计划
每个细胞都具有一个初始状态: 1 即为 活细胞 (live),或 0 即为 死细胞 (dead)。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。输入:board = [[0,1,0],[0,0,1],[1,1,1],[0,0,0]]原地算法:基本不占用额外空间,在不改变原本数据附带的信息的条件下,为数据附上新的信息。输出:[[0,0,0],[1,0,1],[0,1,1],[0,1,0]]好像会比一般的多跑4ms,为什么为什么?原创 2024-04-09 22:06:24 · 391 阅读 · 0 评论 -
LeetCode 73.矩阵置零————2024 春招冲刺百题计划
法二:使用两个标记变量分别记录第一行和第一列是否原本包含 0,用矩阵的第一行和第一列代替方法一中的两个标记数组,以达到 O(1)请使用 原地 算法。输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]法一:遍历一遍,使用俩set分别存储存在空值的行和列,空间复杂度:O(m+n)输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]输出:[[1,0,1],[0,0,0],[1,0,1]]原创 2024-04-10 00:22:30 · 239 阅读 · 0 评论 -
LeetCode 1.两数之和
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。的那 两个 整数,并返回它们的数组下标。,请你在该数组中找出 和为目标值。你可以按任意顺序返回答案。原创 2024-04-15 00:32:47 · 205 阅读 · 0 评论 -
LeetCode 2.两数相加
的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输入:l1 = [2,4,3], l2 = [5,6,4]你可以假设除了数字 0 之外,这两个数都不会以 0 开头。请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]解释:342 + 465 = 807.输出:[7,0,8]原创 2024-04-15 23:35:07 · 209 阅读 · 0 评论 -
LeetCode 4. 寻找两个正序数组的中位数
3.找出第一个数组的第k/2个元素si(同时应考虑i+k/2越界情况),第二个数组的k-k/2个元素sj,若第一个元素小于第二个元素,则丢弃第一个数组的前k/2元素,nums1起始位置改为si,k减去k/2,问题变为找出总排列的第k-k/2个元素,递归。若第一个元素大于第二个元素,则丢弃第二个数组的前k-k/2元素,nums2起始位置改为sj,k减去k-k/2,问题变为找出总排列的k/2个元素,递归。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。原创 2024-04-18 13:48:46 · 213 阅读 · 0 评论