leetcode column equal pairs

LeetCode 19. 删除链表的倒数第 N 个结点

题目链接:LeetCode 19. 删除链表的倒数第 N 个结点 本题依旧采用双指针的解法, 首先快指针先走 n+1 步,然后快慢指针同时往后走。当快指针走到链表末尾时,慢指针所在的位置刚好是倒数第n-1个结点, 然后利用慢指针,删除倒数第n个结点 完整代码如下: func removeNthFro ......
结点 LeetCode 19

LeetCode 24. 两两交换链表中的节点

题目链接:LeetCode 24. 两两交换链表中的节点 本题不涉及算法,直接模拟就可以了,但是模拟的过程中,最好进行画图演示,不然容易出错。 想要达到两两交换链表中节点的效果,就需要按照以下三个步骤进行。 同时为了将头结点和非头结点统一处理,因此新建一个虚拟头结点, 初始时,cur指向虚拟头结点, ......
节点 LeetCode 24

Byte Pair Encoding

2. Byte Pair Encoding原理 在NLP模型中,输入通常是一个句子,例如 "I went to New York last week." ,一句话中包含很多单词(token)。传统的做法是将这些单词以空格进行分隔,例如['i', 'went', 'to', 'New', 'York' ......
Encoding Byte Pair

LeetCode/数青蛙

请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目 1. 回溯+标记 每一趟跑一个青蛙(超时) class Solution { public: int minNumberOfFrogs(string croakOfFrogs) { int n =croakOfFrogs.size(); strin ......
青蛙 LeetCode

[LeetCode] 1419. Minimum Number of Frogs Croaking

You are given the string croakOfFrogs, which represents a combination of the string "croak" from different frogs, that is, multiple frogs can croak at ......
LeetCode Croaking Minimum Number Frogs

[LeetCode] 1456. Maximum Number of Vowels in a Substring of Given Length

Given a string s and an integer k, return the maximum number of vowel letters in any substring of s with length k. Vowel letters in English are 'a', ' ......
Substring LeetCode Maximum Length Number

LeetCode 周赛 343(2023/04/30)结合「下一个排列」的贪心构造问题

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 今天是五一假期的第二天,打周赛的人数比前一天的双周赛多了,难道大家都只玩一天吗?这场周赛是 LeetCode 第 343 场单周赛,如果不考虑第一题摆烂的翻译,整体题目质量还是很不错哒。 ......
LeetCode 问题 2023 343 04

LeetCode刷题记录|LeetCode热题100|226.翻转二叉树(easy)

题目描述:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 思路与算法:从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点 root 的左右两棵子树都已经翻转,只需交换两棵子树的位置,即可完成以 root 为根节点的整棵子树的翻转。 时间复杂度:O(n ......
LeetCode easy 100 226

LeetCode 206. 反转链表

题目链接:LeetCode 206. 反转链表 本题是链表题目中非常重要的一道题目--反转指针。 解题方法有两种:1.双指针法 2. 递归法 首先看双指针法: 快指针总是在慢指针的前面,也就是每次将快指针的节点的next指针更新成指向慢指针,这样不就进行了反转嘛。 完整代码如下: func reve ......
LeetCode 206

[Leetcode] 0705. 设计哈希集合

705. 设计哈希集合 English Version 题目描述 不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: void add(key) 向哈希集合中插入值 key 。 bool contains(key) 返回哈希集合中是否存在这个值 key 。 ......
Leetcode 0705

LeetCode 203. 移除链表元素

题目链接:LeetCode 203. 移除链表元素 本题是一个经典的单链表删除元素的题目,主要注意的有两点: 如果删除的元素是不是头元素,则直接 p.Next= p.Next.Next即可 如果删除的元素是头元素,则需要进行单独的处理 for head != nil && head.Val == v ......
LeetCode 元素 203

LeetCode 59. 螺旋矩阵 II

题目链接:LeetCode 59. 螺旋矩阵 II 本题不涉及算法,只是简单的模拟,但是由于边界条件比较多,因此容易出错。 分析题干:题目要求按照右、下、左、上、这样的顺序对数组进行填充,填充的值为 1 ~ n*n,因此问题的关键就是找到待填充的位置,将其值赋值为 i 即可。 由于填充的顺序是有规律 ......
矩阵 螺旋 LeetCode 59 II

LeetCode 209. 长度最小的子数组

题目链接:LeetCode 209. 长度最小的子数组 本题是一个滑动窗口的题, 所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。 在本题中实现滑动窗口,主要确定如下三点: **窗口内是什么?**窗口就是 满足其和 ≥ target 的长度最小的 连续 子数组。 ** ......
数组 长度 LeetCode 209

[Leetcode] 0703.数据流中的第K大元素

703. 数据流中的第 K 大元素 点击上方标题跳转至leetcode 题目描述 设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。 请实现 KthLargest 类: KthLargest(int k, int[] nums) 使用整数 ......
数据流 Leetcode 元素 数据 0703

LeetCode 977. 有序数组的平方

题目链接 :LeetCode 977. 有序数组的平方 本题直接暴力求解就是先求出每个元素平方后的值,再对平方后的值进行排序, 双指针解法 由于数组其实是有序的, 只不过负数平方之后可能成为最大数了。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。此时可以考虑双指针法了,i指 ......
数组 LeetCode 977

LeetCode 27. 移除元素 题解

题目链接:LeetCode 27. 移除元素 本题大意是要对一个数组进行原地删除数值等于 val 的元素。 双指针算法: 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。 快指针(p指针):寻找新数组的元素 ,新数组就是不含有目标元素的数组 慢指针(q指针):指向更新 新数组下标的 ......
题解 LeetCode 元素 27

LeetCode 704. 二分查找 题解

##本题考查的就是一个基本的整数二分查找问题 对于整数二分,有单调性一定可以二分,没有单调性的有时候也可以二分。 ##算法思想(分为两种方法): 查找结果是在左边区间的情况 区间被划分为[l,mid]和[mid+1,r] 1、确定分界点,mid=q[(l+r)/2] 2、判断是否满足 是:区间变成[ ......
题解 LeetCode 704

LeetCode 1049. 最后一块石头的重量 II

思路 任何时刻,某个石头的重量永远都是若干石头加减运算的绝对值 如 a-b+c 合并石头都是减法,但仍可能出现+运算符,如 a-(b-c)=a-b+c 任何一种合并方法,最后一个石头的重量都可以表示成一种代数形式,如 a+b-c+d+e+f-g 不是所有的代数形式都可以转换为一种合并方法,如 a+b ......
LeetCode 重量 石头 1049 II

[Leetcode] 0697.数组的度

697. 数组的度 点击上方标题跳转至leetcode 题目描述 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:nums = [1, ......
数组 Leetcode 0697

LeetCode 416 分割等和子集

LeetCode | 416.分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 ......
子集 LeetCode 416

[Leetcode] 0682. 棒球比赛

682. 棒球比赛 点击上方标题跳转至leetcode 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,op ......
棒球 Leetcode 0682

[Leetcode] 0693. 交替位二进制数

693. 交替位二进制数 点击上方标题跳转至leetcode 题目描述 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n = 5 输出:true 解释:5 的二进制表示是:101 示例 2: 输入:n = 7 输出 ......
二进制 Leetcode 0693

[Leetcode] 0696. 计数二进制子串

696. 计数二进制子串 点击上方链接跳转至leetcode 题目描述 给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。 重复出现(不同位置)的子串也要统计它们出现的次数。 示例 1: 输入:s = "0 ......
二进制 Leetcode 0696

[Leetcode] 0680. 验证回文串 II

680. 验证回文串 II 点击上方标题跳转至leetcode 题目描述 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。 示例 1: 输入:s = "aba" 输出:true 示例 2: 输入:s = "ab ......
回文 Leetcode 0680 II

[Leetcode] 0674. 最长连续递增序列

674. 最长连续递增序列 题目描述 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l )确定,如果对于每个 l ,都有 nums[i] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r ......
序列 Leetcode 0674

[Leetcode] 0661. 图片平滑器

661. 图片平滑器 题目描述 图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。 每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。 ......
Leetcode 图片 0661

[LeetCode] 649. Dota2 Senate

In the world of Dota2, there are two parties: the Radiant and the Dire. The Dota2 senate consists of senators coming from two parties. Now the Senate ......
LeetCode Senate Dota2 Dota 649

LeetCode/简化路径

简化unix文件路径 ####1. 分割提取+栈 class Solution { public: string simplifyPath(string path) { vector<string> names = split(path, '/');//消除/并得到待处理的多段文件名 vector< ......
路径 LeetCode

[Leetcode] 0657. 机器人能否返回原点

657. 机器人能否返回原点 题目描述 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 ......
原点 机器人 Leetcode 机器 0657

[Leetcode] 0001. 两数之和

1.两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入: ......
之和 Leetcode 0001