草庐IT

leetcode:求两数之和-easy

全部标签

LeetCode-10. 正则表达式匹配

LeetCode-10.正则表达式匹配问题分析算法描述程序代码C++Go问题分析这道题的难点主要在于*号的匹配,这里记dp[i][j]表示s[1...i]和p[1...j]能否完成匹配,先根据特殊情况归纳总结:*号匹配0次,则dp[i][j]=dp[i][j-2]*号匹配1次,则dp[i][j]=dp[i-1][j-2]&&s[i]==p[j-1]*号匹配2次,则dp[i][j]=dp[i-2][j-2]&&s[i-1]==p[j-1]&&s[i]==p[j-1]*号匹配3次,则dp[i][j]=dp[i-3][j-2]&&...*号匹配k次,则dp[i][j]=dp[i-k][j-2]&&.

java数据结构(哈希表—HashMap)含LeetCode例题讲解

 目录1、HashMap的基本方法1.1、基础方法(增删改查)1.2、其他方法 2、HashMap的相关例题2.1、题目介绍2.2、解题2.2.1、解题思路2.2.2、解题图解2.3、解题代码1、HashMap的基本方法HashMap是一个散列表,它存储的内容是键值(key-value)映射。HashMap的key与value类型可以相同也可以不同,根据定义,不受限制。1.1、基础方法(增删改查)1.定义一个哈希表HashMaphashmap=newHashMap();2.添加键值对(key-value)(增)hashmap.put(1,"string1");//执行完后hash表内为{1=s

【LeetCode 算法】Matrix Diagonal Sum 矩阵对角线元素的和

文章目录MatrixDiagonalSum矩阵对角线元素的和问题描述:分析代码MathTagMatrixDiagonalSum矩阵对角线元素的和问题描述:给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。n==mat.length==mat[i].length1n==mat.length==mat[i].length1n1001mat[i][j]100分析这个问题就是矩阵的对角线遍历。主对角线元素的坐标一定是a[i][i]a[i][i]a[i][i],副对角线的坐标就是a[i][j],i+j==n−1a[i][j],i+j

LeetCode452. Minimum Number of Arrows to Burst Balloons

文章目录一、题目二、题解一、题目TherearesomesphericalballoonstapedontoaflatwallthatrepresentstheXY-plane.Theballoonsarerepresentedasa2Dintegerarraypointswherepoints[i]=[xstart,xend]denotesaballoonwhosehorizontaldiameterstretchesbetweenxstartandxend.Youdonotknowtheexacty-coordinatesoftheballoons.Arrowscanbeshotupdir

【动态规划】【广度优先】LeetCode2258:逃离火灾

作者推荐本文涉及的基础知识点二分查找算法合集动态规划二分查找题目给你一个下标从0开始大小为mxn的二维整数数组grid,它表示一个网格图。每个格子为下面3个值之一:0表示草地。1表示着火的格子。2表示一座墙,你跟火都不能通过这个格子。一开始你在最左上角的格子(0,0),你想要到达最右下角的安全屋格子(m-1,n-1)。每一分钟,你可以移动到相邻的草地格子。每次你移动之后,着火的格子会扩散到所有不是墙的相邻格子。请你返回你在初始位置可以停留的最多分钟数,且停留完这段时间后你还能安全到达安全屋。如果无法实现,请你返回-1。如果不管你在初始位置停留多久,你总是能到达安全屋,请你返回109。注意,如果

LeetCode题:581. 最短无序连续子数组,242. 有效的字母异位词,202. 快乐数

581.最短无序连续子数组题目要求:581.最短无序连续子数组给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短 子数组,并输出它的长度。示例1:输入:nums=[2,6,4,8,10,9,15]输出:5解释:你只需要对[6,4,8,10,9]进行升序排序,那么整个表都会变为升序排序。示例2:输入:nums=[1,2,3,4]输出:0示例3:输入:nums=[1]输出:0提示:1-105解题思路:我们定义一个数组num,拷贝原数组,然后对num进行升序排序,再和原数组作比较,定义left为左边第一个和

LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树

一、LeetCode343.整数拆分题目链接:343.整数拆分题目描述:给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k>=2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积 。示例1:输入:n=2输出:1解释:2=1+1,1×1=1。示例 2:输入:n=10输出:36解释:10=3+3+4,3× 3× 4=36。提示:2算法分析:定义dp数组及下标含义:dp[i]表述正整数i拆分成k个正整数乘积所能够得到的最大值。递推公式:用一个j来遍历从1到i,得到两个dp[i],即dp[i]=j*(i-j)(将整数i分成两个正整数j和i-j),和dp[i]=j*dp[i-j]。所以

Java LeetCode篇-深入了解二叉树的经典解法(多种方式实现:构造二叉树)

🔥博客主页: 【小扳_-CSDN博客】❤感谢大家点赞👍收藏⭐评论✍   文章目录        1.0从前序与中序遍历序列来构造二叉树    1.1实现从前序与中序遍历序列来构造二叉树思路      1.2代码实现从前序与中序遍历序列来构造二叉树    2.0从中序与后序遍历序列构造二叉树    2.1实现从中序与后序遍历序列后遭二叉树思路    2.2代码实现从中序与后序遍历序列来构造二叉树    3.0根据后缀表达式创建二叉树    3.1实现后缀表达式创建二叉树思路    3.2代码实现后缀表达式创建二叉树     4.0相同的树    4.1实现判断两颗树是否相同思路    4.2代码

sdut-C语言实验-求一个3*3矩阵对角线元素之和 、求矩阵各行元素之和 、矩阵转置

文章目录7-1sdut-C语言实验-求一个3*3矩阵对角线元素之和7-2求矩阵各行元素之和7-4sdut-C语言实验-矩阵转置7-1sdut-C语言实验-求一个3*3矩阵对角线元素之和分数12作者马新娟单位山东理工大学给定一个3*3的矩阵,请你求出对角线元素之和。输入格式:按照行优先顺序输入一个3*3矩阵,每个矩阵元素均为整数。输出格式:从左下角到右上角这条对角线上的元素之和。输入样例:123345601输出样例:在这里给出相应的输出。例如:13#includeintmain(){inta[3][3]={0},sum=0;for(inti=0;i3;i++){for(intj=0;j3;j++

C语言--从键盘输入一个3x3的矩阵,求该矩阵主对角线上的元素之和。

源代码:#includeintmain(){inta[3][3],i,j,sum=0; printf("请输入矩阵a:\n"); for(i=0;i3;i++){ for(j=0;j3;j++){ scanf("%d",&a[i][j]); if(i==j) sum=sum+a[i][j]; } } printf("主对角线上元素的和为:%d\n",sum); return0;}运行结果: