frog-position-after-t-seconds leetcode problems

LeetCode 1638 统计只差一个字符的子串数目

LeetCode | 1638.统计只差一个字符的子串数目 给你两个字符串 s 和 t ,请你找出 s 中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t 串的子串。换言之,请你找到 s 和 t 串中 恰好 只有一个字符不同的子字符串对的数目。 比方说, "computer" and  ......
数目 字符 LeetCode 1638

LeetCode 周赛 338,贪心 / 埃氏筛 / 欧氏线性筛 / 前缀和 / 二分查找 / 拓扑排序

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 338 场周赛,你参加了吗?这场周赛覆盖的知识点很多,第四题称得上是近期几场周赛的天花板。 小彭的技术交流群 02 群来了,公众号回复 “加群” 加入我们~ ......
拓扑 前缀 线性 LeetCode 338

代码随想录Day11-Leetcode20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

20. 有效的括号 写过很多遍了,但还是不能秒a /** * @param {string} s * @return {boolean} */ var isValid = function(s) { let stack = [] let obj = {'(':')', '[':']', '{':'} ......
随想录 括号 表达式 字符串 随想

代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结

239. 滑动窗口最大值 一开始没有思路,暴力了,然后果然超时; 看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像; 也确实很符合本题的情况,一旦队尾出现更大的数,前面更小的数就不需要了, 他们不会成为最大数被弹出后的备选。 值得注意的是本题数次出现区间错误,一开始我的操作居然是删除q[l] ......
随想录 最大值 队列 随想 Leetcode

LeetCode459. 重复的子字符串

题目描述: 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。 示例 2: 输入: s = "aba" 输出: false 示例 3: 输入: s = "abcabcabca ......
字符串 字符 LeetCode 459

[LeetCode] 1337. The K Weakest Rows in a Matrix 矩阵中战斗力最弱的 K 行

You are given an m x n binary matrix mat of 1's (representing soldiers) and 0's (representing civilians). The soldiers are positioned in front of the ......
矩阵 战斗力 LeetCode Weakest Matrix

【DP】LeetCode 剑指 Offer 46. 把数字翻译成字符串

题目链接 剑指 Offer 46. 把数字翻译成字符串 思路 这个问题与 dp 中的经典问题“跳台阶”问题十分类似,在跳台阶问题中我们是选择跳一个台阶或者两个台阶,而在这个问题中我们是选择再统计一个字符还是再统计两个字符。所以他们的状态转移方程都包含 $dp[i]=dp[i-1]+dp[i-2]$。 ......
字符串 字符 LeetCode 数字 Offer

快慢指针-leetcode141-判断链表中是否有环。

LeetCode #141 题目描述: 给定一个链表,判断链表中是否有环。 如果链表中存在环,则返回 true 。 否则,返回 false 。 进阶:你能用 O(1)(即,常量)内存解决此问题吗? 示例 1: example1 输入:head = [3,2,0,-4], pos = 1 输出:tru ......
快慢 指针 leetcode 141

转)关于逆问题(inverse problem)的阅读名单

【注1】虽然咱不看这方面的内容,但是既然莫名其妙地下了这么个东西,就想着不能扔了,至少留一份于***当中。 【注2】简单排版,但并未校正,无法保证质量。 【注3】与原文不同,这里按照Mx做了重排,排法类似于大名鼎鼎的冒泡排序,故而more不保证质量。 A Reading List in Invers ......
名单 inverse problem 问题

LeetCode 202 快乐数

LeetCode 202 快乐数 题目跳转链接 具体实现思路如下: 实现一个函数getSum,用来计算一个数各个位上的数字的平方和。具体实现就是对这个数进行除十操作和取余操作,对每个位上的数字平方后累加到总和中。 在一个while循环中,不断调用getSum函数,直到计算出1或者陷入无限循环为止。同 ......
LeetCode 202

Leetcode 349. 两个数组的交集

力扣题目跳转链接 代码随想录 题解 题目要求:给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 解法一: unordered_set ......
数组 交集 Leetcode 两个 349

【LeetCode动态规划#05】背包问题的理论分析(基于代码随想录的个人理解,多图)

背包问题 问题描述 背包问题是一系列问题的统称,具体包括:01背包、完全背包、多重背包、分组背包等(仅需掌握前两种,后面的为竞赛级题目) 下面来研究01背包 实际上即使是最经典的01背包,也不会直接出现在题目中,一般是融入到其他的题目背景中再考察 因为是学习原理,所以先跳过最原始的问题模板来学。 0 ......
随想录 随想 背包 LeetCode 理论

LeetCode 142.环形链表II

力扣LeetCode 142.环形链表II 题目跳转链接 解题思路: 代码随想录: 142.环形链表II 从头结点出发一个指针, 从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点。 ......
环形 LeetCode 142

LeetCode 面试题 02.07. 链表相交

面试题 02.07. 链表相交 力扣 题目跳转链接 思路参考:代码随想录 跳转链接 错误代码: class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode* f ......
LeetCode 02 07

LeetCode 1574 删除最短子数组使剩余数组有序

LeetCode | 1574.删除最短子数组使剩余数组有序 给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 示例 1: 输入:arr = [1,2,3,10 ......
数组 LeetCode 1574

LeetCode|1032. 字符流

题目链接:1032. 字符流 设计一个算法:接收一个字符流,并检查这些字符的后缀是否是字符串数组 words 中的一个字符串。 例如,words = ["abc", "xyz"] 且字符流中逐个依次加入 4 个字符 'a'、'x'、'y' 和 'z' ,你所设计的算法应当可以检测到 "axyz" 的 ......
字符 LeetCode 1032

LeetCode|1574. 删除最短的子数组使剩余数组有序

题目链接:1574. 删除最短的子数组使剩余数组有序 给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 示例 1: 输入:arr = [1,2,3,10,4,2 ......
数组 LeetCode 1574

leetcode1574

双指针法,结果只能从最左边或者最右边或者最左边加上最右边中取 class Solution { public: int findLengthOfShortestSubarray(vector<int>& arr) { int n = arr.size(),res = 1,res2 = 1,res3 ......
leetcode 1574

Leetcode 22. 括号生成

题目链接在这里: 还是比较经典的括号匹配问题,这题学习了函数内套子函数的写法,但是关于全局变量还是有一点问题要问问龙哥,先挖个坑放这…… from ast import List # class Solution: # def generateParenthesis(self, n: int) -> ......
括号 Leetcode 22

Leetcode 18. 四数之和(双指针)

题目链接在这里:四数之和 这道题和前面的三数之和一模一样,只是需要枚举前两个数而已,需要注意一下前两个数的重复点的判断,并且不要忘记排序。 from ast import List class Solution: def fourSum(self, nums: List, target: int): ......
之和 指针 Leetcode 18

[LeetCode] 2316. Count Unreachable Pairs of Nodes in an Undirected Graph

You are given an integer n. There is an undirected graph with n nodes, numbered from 0 to n - 1. You are given a 2D integer array edges where edges[i] ......
Unreachable Undirected LeetCode Count Graph

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

LeetCode 19 删除链表的倒数第N个节点 题目跳转链接 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummyHead=new ListNode(0); dumm ......
节点 LeetCode 19

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

24. 两两交换链表中的节点 力扣题目跳转链接 具体解题思路和答案可以参考:代码随想录: 24. 两两交换链表中的节点 ####自我错误思考过程记录: &#10008 错误代码: //思路: class Solution { public: ListNode* swapPairs(ListNode* ......
节点 LeetCode 24

【LeetCode动态规划#04】不同的二叉搜索树(找规律,有点像智力题)

不同的二叉搜索树 力扣题目链接(opens new window) 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 思路 题意分析 先找一下关系 当n = 1时,如果元素就是1,以1为头节点 1 当n = 2时,分别以1和2为头节点 1 2 / \ 2 1 然后当n ......
智力 LeetCode 规律 动态 04

LeetCode 59. 螺旋矩阵 II

这道题可以采用模拟法来实现。我们可以设置上下左右四个边界,然后模拟螺旋填充元素。具体来说,我们定义 left、right、top、bottom 四个变量代表当前需要填充的最左边、最右边、最上面、最下面的位置,然后根据当前位置,依次填充矩阵。 具体可以按照以下步骤实现: 初始化矩阵 matrix,并且 ......
矩阵 螺旋 LeetCode 59 II

Leetcode 17.电话号码的字母组合 (模拟)

题目链接在这里:电话号码的字母组合 这道题主要学习的是哈希表的应用:可以用大括号来代表建立哈希表,以及子函数的实现:可以直接在主函数中定义子函数,将$string$拼成一个整个的长$string:$"".join(list), 注意前面的这个空串是必要的,它代表子串之间直接相连,没有其他的字符。 f ......
电话号码 字母 Leetcode 号码 电话

Leetcode 15 & 16 (双指针)

都是比较经典的双指针问题,我们可以从中总结一些双指针的规律 首先这两题如果en做的话就是 $O(n^{3})$ 的算法,暴力去找。但是我们可以发现这三个值是满足一定约束的,所以考虑使用方法将它降到 $O(n^2)$ 。如果双指针,一个在头,一个在尾,两个向中间夹,根据约束条件合理选择向中间夹的策略, ......
指针 Leetcode amp 15 16

LeetCode|1630. 等差子数组

题目链接:1630. 等差子数组 难度中等60收藏分享切换为英文接收动态反馈 如果一个数列由至少两个元素组成,且每两个连续元素之间的差值都相同,那么这个序列就是 等差数列 。更正式地,数列 s 是等差数列,只需要满足:对于每个有效的 i , s[i+1] - s[i] == s[1] - s[0] ......
等差 数组 LeetCode 1630

LeetCode60. 排列序列

class Solution { public: int fac[10]; void init() { fac[0]=1; fac[1]=1; for(int i=2;i<10;i++) fac[i]=fac[i-1]*i; return; } string str; bool visited[10 ......
序列 LeetCode 60

代码随想录Day10-Leetcode232. 用栈实现队列,225. 用队列实现栈

### 232.用栈实现队列 尽管是很简单的一题, 但还是参考了题解, 一开始还在想,push的时候还得把输出栈倒回来效率好低 结果一看题解发现不用 //思路: 对对队列尾部操作时(push,empty), 对输入栈正常操作; 对队列头部操作时(peek,pop),全部弹出到输出栈中操作 //参考思 ......
队列 随想录 随想 Leetcode 代码