草庐IT

Leetcode刷题第六周

全部标签

php - 如何检查第五个和第六个字符是特定的两位数?

我想验证电话号码。唯一有效的电话号码是这样开头的:+3620|+3630|+3631|+3670我的代码看起来像这样,但现在您可以输入我想避免的+3621或+3671。如何检查两位数?比如70或30。$phone='+36701234567';if(preg_match('|^\+36[237][01][1-9][0-9]{2}[0-9]{2}[0-9]{2}$|',$phone)){echo'phonenumberisgood';} 最佳答案 如果你想要一些非常具体的数字:/^\+36(20|30|31).../如您所见,使用集合

华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客【新解法】华为OD机试-关联子串|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-停车场最大距离|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-任务调度|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-英文输入法|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-流水线|备考思路,刷题要点,答疑,odBase提供最近的点题目同一个数轴x有两个点的集合A={A1,A2,...

【Leetcode】消失的数字 [C语言实现]

👻内容专栏:《Leetcode刷题专栏》🐨本文概括:面试17.04.消失的数字🐼本文作者:花碟🐸发布时间:2023.4.10目录思想1:先排序再查找思想2:异或运算代码实现: 思想3:等差数列求和相减代码实现:  点击跳转到Leetcode的OJ平台 17.04消失的数字  题目:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?intmissingNumber(int*nums,intnumsSize);示例1:​ 示例2:​ 分析:1.数组中经过排列后是一串有序列的整数,只不过序列中缺失了一个整数,题目需要让你找出这个缺失的数

高频算法题冒险之旅精讲(一)之LeetCode小牛试刀五道题

📢导读:本篇博文是LeetCode算法题讲解篇,对高频算法题进行详细而深入的讲解,解题语言选择的是Java。更多算法专栏如下:⛳️排序算法⛳️分治法⛳️LeetCode高频算法题讲解⛳️数据结构目录⛳️1.只出现一次的数字(第136题)1.1题目:1.2解题思路及完整Java代码1.2.1用map1.2.2用set1.2.3用位运算⛳️2.多数元素(第169题)2.1题目:2.2解题思路及完整Java代码2.2.1使用map去存储元素出现的次数2.2.2排序后直接输出2.2.3摩尔投票法⛳️3.搜索二维矩阵II(第240题)3.1题目:3.2解题思路及完整Java代码3.2.1暴力解法3.2.

【快乐手撕LeetCode题解系列】——移除链表元素

【【快乐手撕LeetCode题解系列】——移除链表元素😎前言🙌删除有序数组中的重复项🙌解法一:画图分析:😍思路分析:😍源代码分享:😍解法二:画图分析:😍思路分析:😍源代码分享:😍解法三:画图分析:😍思路分析:😍源代码分享:😍总结撒花💞  😎博客昵称:博客小梦😊最喜欢的座右铭:全神贯注的上吧!!!😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘前言🙌  哈喽各位友友们😊,我今天又学到了很

LeetCode每日一题——902. 最大为 N 的数字组合

LeetCode每日一题系列题目:902.最大为N的数字组合难度:困难文章目录LeetCode每日一题系列题目示例思路题解题目给定一个按非递减顺序排列的数字数组digits。你可以用任意次数digits[i]来写的数字。例如,如果digits=[‘1’,‘3’,‘5’],我们可以写数字,如‘13’,‘551’,和‘1351315’。返回可以生成的小于或等于给定整数n的正整数的个数。示例示例1:输入:digits=[“1”,“3”,“5”,“7”],n=100输出:20解释:可写出的20个数字是:1,3,5,7,11,13,15,17,31,33,35,37,51,53,55,57,71,73,

( “树” 之 DFS) 101. 对称二叉树 ——【Leetcode每日一题】

101.对称二叉树给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100进阶:你可以运用递归和迭代两种方法解决这个问题吗?思路:递归递归结束条件:都为空指针则返回true;只有一个为空或者对应节点值不相等,则返回false。递归过程:判断A的右子树与B的左子树是否对称;判断A的左子树与B的右子树是否对称;只有都相等时,才返回true。代码:(Java、C++)Java/***Definitionfor

算法学习(10):LeetCode刷题之Dijkstra最短路径算法

前言:迪杰斯特拉(Dijkstra)最短路径算法是求有向加权图中某个节点到其他节点的最短路径。“图”这种数据结构的具体实现就是“邻接矩阵”或者“邻接表”。比如上面这个图,用邻接表或者邻接矩阵的存储方式如下,图中的节点一般抽象成一个数字(即下标或索引):首先,我们来确定一下Dijkstra算法的签名://输入一个起点和一个图(邻接矩阵表示),返回start到其他节点的最短路径,节点的值作为返回数组的下标int[]dijkstra(intstart,int[][]graph)最短路径算法的思路可以由BFS算法进行扩展,之前我们学习过二叉树的层序遍历和网格型BFS的方法,BFS其实就是while循环

LeetCode:150. 逆波兰表达式求值—栈

🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123一、🌱150.逆波兰表达式求值题目描述:给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。来源:力扣(LeetCode)难度:简单提示:1tokens[i]是一个算符("+"、"-"、"*"或"/"),或是在范围[-200,200]内的一个整数注意:有效的算符为'+'、'-'、'*'和'/'。每个操作数(运算对象)都可以是一个整数或者另一个表达式。两个整数之间的除法总是向零截断。表达式中不含除零运算。输入是一个根据逆波兰表示法表示的算术表达式。答案及

【代码随想录训练营】【Day23】第六章|二叉树|669. 修剪二叉搜索树 |108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树

修剪二叉搜索树题目详细:LeetCode.669做这道题之前建议先看视频讲解,没有想象中那么复杂:代码随想录—修剪二叉搜索树由题可知,需要删除节点值不在区间内的节点,所以可以得到三种情况:情况一:root.val情况二:root.val>high情况三:low当节点满足情况一和情况二的条件时,删除该节点但被删除节点的子树可能存在值在区间内的节点,利用二叉搜索树的特点可得:情况一:root.val情况二:root.val>high,root左子树上的节点值都比root.val小,右子树上的节点值都比root.val大,所以满足区间的节点只会在左子树上出现,递归修剪其左子树并返回新的子节点情况三: