草庐IT

Leetcode

全部标签

力扣前端leetcode 2622.有时间限制的缓存 语言TypeScript(详细分析)TS

文章目录前言题目方法一:setTimeout+clearTimeout+类语法解析方法二:时间戳解析前言力扣题目:2622.有时间限制的缓存语言:TypeScript本文是该题目的众多方法之二如果内容有不对的地方,恳请指正题目编写一个类,它允许获取和设置键-值对,并且每个键都有一个过期时间。该类有三个公共方法:set(key,value,duration):接收参数为整型键key、整型值value和以毫秒为单位的持续时间duration。一旦duration到期后,这个键就无法访问。如果相同的未过期键已经存在,该方法将返回true,否则返回false。如果该键已经存在,则它的值和持续时间都应该

代码训练LeetCode(4)字母异位词

代码训练(4)LeetCode之字母异位词Author:OnceDayDate:2024年3月6日漫漫长路,才刚刚开始…全系列文章可参考专栏:十年代码训练_Once-Day的博客-CSDN博客参考文章:242.有效的字母异位词-力扣(LeetCode)力扣(LeetCode)全球极客挚爱的技术成长平台文章目录代码训练(4)LeetCode之字母异位词1.原题2.分析3.代码实现4.总结1.原题给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。**注意:**若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。例如对于car和raw,就不是字母异位词,因为c和w没有对上。2

代码训练LeetCode(6)编辑距离

代码训练(6)LeetCode之编辑距离Author:OnceDayDate:2024年3月9日漫漫长路,才刚刚开始…全系列文章可参考专栏:十年代码训练_Once-Day的博客-CSDN博客参考文章:72.编辑距离-力扣(LeetCode)力扣(LeetCode)全球极客挚爱的技术成长平台文章目录代码训练(6)LeetCode之编辑距离1.原题2.分析3.代码实现4.总结1.原题给你两个单词word1和word2,请返回将word1转换成word2所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符例如对于horse和ros两个单词,其最少操作数为3,即如

Leetcode-1041. 困于环中的机器人

题目:在无限的平面上,机器人最初位于 (0,0) 处,面朝北方。注意:北方向 是y轴的正方向。南方向 是y轴的负方向。东方向 是x轴的正方向。西方向 是x轴的负方向。机器人可以接受下列三条指令之一:"G":直走1个单位"L":左转90度"R":右转90度机器人按顺序执行指令 instructions,并一直重复它们。只有在平面中存在环使得机器人永远无法离开时,返回 true。否则,返回 false。示例1:输入:instructions="GGLLGG"输出:true解释:机器人最初在(0,0)处,面向北方。“G”:移动一步。位置:(0,1)方向:北。“G”:移动一步。位置:(0,2).方向:

leetcode: 2129. 将标题首字母大写

给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 :如果单词的长度为 1 或者 2 ,所有字母变成小写。否则,将单词首字母大写,剩余字母变成小写。请你返回 大写后 的 title 。示例1:输入:title=“capiTalIzetHetitLe”输出:“CapitalizeTheTitile”解释:由于所有单词的长度都至少为3,将每个单词首字母大写,剩余字母变为小写。示例2:输入:title=“FirstleTTeRofEACHWord”输出:“FirstLetterofEachWord”解释:单词“of”长度

leetcode热题HOT 240. 搜索二维矩阵 II

一、问题描述:编写一个高效的算法来搜索mxn矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列二、二叉搜索树解题思路:利用矩阵每行和每列元素有序的特点,从右上角开始查找。这样可以利用行和列的有序性逐步缩小搜索范围。类似于二叉搜索树中左子树的值均小于根节点,右子树的值大于根节点的规律。如果目标值比当前元素大,则向下移动一行;如果目标值比当前元素小,则向左移动一列;直到找到目标值或者超出矩阵范围。具体步骤:①初始化起始位置为右上角(i=0,j=matrix[0].length-1)。②在矩阵范围内循环搜索,直到找到目标值或者搜索范

Leetcode 3035. Maximum Palindromes After Operations

Leetcode3035.MaximumPalindromesAfterOperations1.解题思路2.代码实现题目链接:3035.MaximumPalindromesAfterOperations1.解题思路这一题的话因为可以任意交换,因此事实上要考察回文的最大个数,我们只需要统计所有单词当中字符出现的频次,看看他们能组成多少回文即可。而这部分,我们只需要统计所有的字符频次当中pair的个数和独立元素的个数即可,且需要注意的是,如果独立元素不够用了,我们可以将成对的元素拆分为两个独立元素,即可满足使用需求。另外,要使得能组成的回文尽可能的多,我们应该优先匹配较短的单词,这样才能够确保能够

[Java·算法·简单] LeetCode 392. 判断子序列 详细解读

 人不走空                                          🌈个人主页:人不走空      💖系列专栏:算法专题⏰诗词歌赋:斯是陋室,惟吾德馨  题目给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。进阶:如果有大量输入的S,称作S1,S2,...,Sk其中k>=10亿,你需要依次检查它们是否为T的子序列。在这种情况下,你会怎样改变代码? 示例示例1输入:s="abc",t="ahbgdc

【刷题】Leetcode 415 字符串相加 和 34 字符串相乘

刷题Leetcode415字符串相加题目描述思路一(模拟大法版!!!)Leetcode34字符串相乘题目描述思路一(模拟大法版)Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!!Leetcode415字符串相加题目描述逻辑很简单,对应位置相加,并进位即可。思路一(模拟大法版!!!)本题我们只需要对两个大整数模拟「竖式加法」的过程。竖式加法就是我们平常学习生活中常用的对两个整数相加的方法,回想一下我们在纸上对两个整数相加的操作,是不是将相同数位对齐,从低到高逐位相加,如果当前位和超过10,则向高位进一位?因此我们只要将这个过程用代码写出来即可。classSolution{public:s

【leetcode】 剑指 Offer学习计划(java版本含注释)(下)

目录前言第十六天(排序)剑指Offer45.把数组排成最小的数(中等)剑指Offer61.扑克牌中的顺子(简单)第十七天(排序)剑指Offer40.最小的k个数(简单)第十八天(搜索与回溯算法)剑指Offer55-I.二叉树的深度(简单)剑指Offer55-II.平衡二叉树(简单)*第十九天(搜索与回溯算法)剑指Offer64.求1+2+…+n(中等)剑指Offer68-I.二叉搜索树的最近公共祖先(简单)剑指Offer68-II.二叉树的最近公共祖先(简单)*第二十天(分治算法)剑指Offer07.重建二叉树(中等)*第二十一天(位运算)剑指Offer15.二进制中1的个数(简单)剑指Off