![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode练习
Dust.
这个作者很懒,什么都没留下…
展开
-
Leetcode 1001网格照明
在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状态。 给你一个由灯的位置组成的二维数组 lamps ,其中 lamps[i] = [rowi, coli] 表示 打开 位于 grid[rowi][coli] 的灯。即便同一盏灯可能在 lamps 中多次列出,不会影响这盏灯处于 打开 状态。 当一盏灯处于打开状态,它将会照亮 自身所在单元格 以及同一 行 、同一 列 和两条 对角线 上的 所有其他单元格 。 另给你一个二维数组 queries ,其中 queries[j原创 2022-02-08 14:11:54 · 7309 阅读 · 0 评论 -
Leetcode350 两个数组的交集II
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9] 提示: 1 <= nums1.length, nums2.length <原创 2022-01-21 14:52:33 · 64 阅读 · 0 评论 -
Leetcode19 删除链表的倒数第N个结点
删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node.val <= 100 1 <= n <= sz 进阶:你能.原创 2022-01-14 12:41:32 · 96 阅读 · 0 评论 -
Leetcode 2两数相加
题目: 2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0] 输出:[0] 示例 3: 输入:l1 = [9,9,9,9,9原创 2022-01-13 12:20:30 · 58 阅读 · 0 评论 -
最大子数组和
最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 使用动态规划求解 首先我们要明确一点,如果一个子序列和加了一个负数,则必定导致和减小。但在正向思维中这个判断不能使用,因为有可能在负数后面加了一个更大的正数。但我们可以用反向思维, 定义一个状态dp[i]为以nums[i]结尾的最大子序列和,反向思考,若dp[i]为负数,则说明前面的子序列最大的也是负数,没必要继续往后加了,此时把dp[i]状态转为从.原创 2021-12-03 18:49:29 · 67 阅读 · 0 评论 -
Leetcode 26-27,双指针 (删除数组相同元素&移除元素)
26. 删除有序数组中的重复项 给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 定义两个指针,一个slow一个fast,分别指向有效数组和整个数组。意为slow是要输出的数组的长度,而fast用于对原数组遍历到底。 用fast对数组进行遍历,两相邻元素不相同,则将fast指向的元素赋给slow指向的元素,slow指针向前走一个元素。若...原创 2021-10-31 19:40:37 · 110 阅读 · 0 评论