自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 栈 JZ5、20、21

JZ20包含min函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。在该栈中调用min、push及pop的时间复杂度都是O(1)。 题解: 由于返回最小值,需要遍历整个栈,时间复杂度为O(n),所以这里自然想到空间换时间(这里为辅助栈)的思想。 首先需要一个正常栈normal,用于栈的正常操作,然后需要一个辅助栈minval,专门用于获取最小值,具体操作如下。 代码: class Solution { public: stac

2020-12-18 21:13:26 155 2

原创 树 JZ17、18、58、23、24、26、57、61、面试题7、32 - I、Ⅱ、Ⅲ、55- I、Ⅱ、68- I、Ⅱ

文章目录JZ17 树的子结构知识点: JZ17 树的子结构 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 示例1 输入 {8,8,#,9,#,2,#,5},{8,9,#,2} 返回值 true 题解 第一步,在树A中找到和树B的根节点的值一样的节点R; 这实际上是对树的遍历 树的遍历有递归和循环两种方法,下面是递归方法(以前序遍历为例) void preOrderTraverse(T) { /不管前中后序,下面两句都在最前面最后递归结束条件 i

2020-12-16 22:09:51 518

原创 JZ52、16、27---递归

JZ52正则表达式匹配 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 示例1 输入 "aaa","a*a" 返回值 true 注: 1、'*'表示它前面的字符可以出现任意次(包含0次): 说明'*'前面要有字符,即模式的第一个字符不可能是'*',最

2020-12-09 12:02:44 168

原创 面试题17------大数问题

面试题17:打印从1到到最大的n位数 题目: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数 题解: 大数越界问题: 当 n较大时,end=10^n - 1会超出 int32 整型的取值范围,超出取值范围的数字无法正常存储。但由于本题要求返回 int 类型数组(如下第一个代码,返回ve

2020-12-03 21:59:10 330

原创 动态规划-----JZ67,JZ52、面试题46、47、48、49、60、63

JZ67剪绳子 题目描述 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],…,k[m]。请问k[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 输入描述: 输入一个数n,意义见题面。(2 <= n <= 60) 返回值描述: 输出答案。 示例1 输入 8 返回值 18 预备知识 动态规划(Dynamic progr

2020-12-02 18:27:27 575

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除