草庐IT

LeetCode_day

全部标签

LeetCode算法题整理(200题左右)

目录前言一、树(17)1.1、后序遍历1.2、层次遍历1.3、中序1.4、前序二、回溯(20)2.1、普通回溯2.2、线性回溯:组合、排列、子集、分割2.3、矩阵回溯三、二分查找(11)3.1、普通二分3.2、旋转数组二分四、栈和队列(13)4.1、普通栈、普通队列4.2、单调栈、单调队列五、贪心(10)5.1、区间贪心5.2、两个维度贪心5.3、简单贪心5.4、复杂贪心六、动态规划(31)6.1、经典类型动归6.2、单串动归6.3、双串动归6.4、普通动归七、链表(23)八、排序(5)九、图(4)十、其他经典类型(63)10.1、Hash10.2、原地Hash10.3、双指针10.4、滑动窗

236. 二叉树的最近公共祖先 ——【Leetcode每日一题】

236.二叉树的最近公共祖先给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。示例2:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=4输出:5解释:节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。示例3

长期记录一下Leetcode上可以用正则表达式解决的题目,附个人代码

目录前言10.正则表达式匹配36.有效的数独[纯正则]408.有效单词缩写459.重复的子字符串[纯正则]468.验证IP地址[纯正则]591.标签验证器[纯正则]722.删除注释[纯正则]890.查找和替换模式1023.驼峰式匹配1108.IP地址无效化[纯正则]1455.检查单词是否为句中其他单词的前缀2047.句子中的有效单词数[纯正则]2299.强密码检验器II[纯正则]前言正则这个东西隔几天不用就容易忘记,所以把刷LeetCode时候碰到的能用正则表达式解决的题目全都记在这里,供以后参考使用,这里面有的是直接写出正则表达式即可,或者说正则表达式是写死了的,我标为“纯正则”,有的则需要

代码随想录算法训练营第二天 | LeetCode977有序数组的平方、LeetCode209 长度最小的子数组、LeetCode59螺旋矩阵II、数组总结

代码随想录算法训练营第二天|LeetCode977有序数组的平方、LeetCode209长度最小的子数组、LeetCode59螺旋矩阵II、数组总结时长:大约3~4小时977.SquaresofaSortedArrayGivenanintegerarraynumssortedinnon-decreasingorder,returnanarrayofthesquaresofeachnumbersortedinnon-decreasingorder.Example1:Example2:Constraints:1104-1044numsissortedinnon-decreasingorder.Fo

代码随想录Day2 977.有序数组的平方、 209.长度最小的子数组 、59.螺旋矩阵II

977.有序数组的平方题目给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]思路因为数组是非递减顺序的,所以平方最大的数一定在数组的两边(可能有负数的存在),所以我们用左右两个指针,依次比较,把较大的数放在一个新的数组的最后。这里要注意不能从前往后往新数组里放数,因为较小的数如果放在第一个位置,left指针加1,后面的数的平方是完全有可能比第一个数的平方小的,比如[-4

【数据结构与算法】LeetCode面试真题,带你领略算法思想

💛前情提要💛本章节是数据结构的栈和队列的相关面试题目讲解~以下的内容一定会让你对栈和队列相关知识的题目,有一个颠覆性的认识哦!!!❗以下内容以C语言的方式实现❗以下内容干货满满,跟上步伐吧~作者介绍:🎓作者:热爱编程不起眼的小人物🐐🔎作者的Gitee:代码仓库📌系列文章&专栏推荐:《刷题特辑》、《C语言学习专栏》、《数据结构_初阶》📒我和大家一样都是初次踏入这个美妙的“元”宇宙🌏希望在输出知识的同时,也能与大家共同进步、无限进步🌟🌐为大家推荐一款刷题网站呀👉点击跳转以下题目&算法思想,都可以从此网站中找到并参考学习哟~📌导航小助手📌👉前情提要📒面试真题【全面深度解析】🏷️有效的括号【难度:简单

redis zrank : get "last 7 days" rank

我想显示三个排名:整体、最近30天和最近7天。我决定使用redis,尽管我以前从未使用过它。整体排名看起来很简单:每次用户注册时,我都会在我的收藏中创建一个新成员,并在他每次获得新积分时增加计数器。然后我可以通过ZRANK获得排名但是如何根据用户在过去7天内获得的积分获得排名呢? 最佳答案 我觉得我搞定了(请提出批评意见和改进意见):正如PieterNoordhuis在此回答中所写:https://groups.google.com/forum/#!topic/redis-db/0xh7tVQsi9Q我所要做的就是:ZINCRBYd

【LeetCode/面试题】链表面试题

👦个人主页:@Weraphael✍🏻作者简介:目前学习C++和算法✈️专栏:Leetcode+面试/笔试🐋希望大家多多支持,咱一起进步!😁如果文章对你有帮助的话欢迎评论💬点赞👍🏻收藏📂加关注目录一、移除链表元素1.1题目描述1.2思路一1.3思路一代码实现1.4思路二--尾插1.5思路二代码实现二、翻转单链表2.1题目描述2.2思路一--三指针2.3思路一代码实现2.4思路二--头插2.5思路二代码实现三、链表的中间结点3.1题目描述3.2思路3.3代码实现四、链表中倒数第k个结点4.1题目描述4.2思路4.3代码实现五、合并两个有序链表5.1题目描述5.2做法代码实现六、分割链表6.1题目描

回溯理论基础及leetcode例题

学习参考回溯与递归相辅相成;回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。回溯搜索法纯暴力搜索解决的问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式(与组合差别,排列有元素顺序)棋盘问题:N皇后,解数独等等理解抽象的不易理解;抽象为图形结构--树形结构N叉树【树的宽度:集合的大小(for处理);深度:递归的深度(递归处理)】模板voidbacktracking(参数){if(终止条件){收集结果;return;}//

回溯理论基础及leetcode例题

学习参考回溯与递归相辅相成;回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。回溯搜索法纯暴力搜索解决的问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式(与组合差别,排列有元素顺序)棋盘问题:N皇后,解数独等等理解抽象的不易理解;抽象为图形结构--树形结构N叉树【树的宽度:集合的大小(for处理);深度:递归的深度(递归处理)】模板voidbacktracking(参数){if(终止条件){收集结果;return;}//