自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode #1143 最长公共子序列

给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcde”, text2 = “ace”

2020-05-11 20:44:10 151

原创 Leetcode #300 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-increas

2020-05-11 20:20:27 116

原创 Leetcode #1137 第 N 个泰波那契数

泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输入:n = 25输出:1389537提示:0 <= n <= 37答案保证是一个 32 位整数,即 answer <= 2^

2020-05-11 20:09:00 145

原创 Leetcode #面试题10-I 斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5提示:0 <=

2020-05-11 19:41:55 147

原创 Leetcode #509 斐波那契数

斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定 N,计算 F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1.示例 2:输入:3输出:2解释:F(3) = F(2) + F(1) = 1 + 1 = 2.示例 3:输入

2020-05-11 19:28:25 94

原创 Leetcode #790 多米诺和托米诺平铺

有两种形状的瓷砖:一种是 2x1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。XX <- 多米诺XX <- “L” 托米诺X给定 N 的值,有多少种方法可以平铺 2 x N 的面板?返回值 mod 10^9 + 7。(平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。)示例:输入: 3输出: 5解释:下面列出了五种不同的方法,不同字母代表不同瓷砖:XYZ X

2020-05-11 11:56:19 188

原创 Leetcode #70 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/clim

2020-05-11 10:37:14 84

原创 二叉树遍历输出

按先序遍历序列建立一个二叉树的二叉链表,并按先序遍历、中序遍历、后序遍历将其输出。测试用例1-+a##*b##c##/d##e##↵期待输出1前序遍历结果:- + a * b c / d e ↵中序遍历结果:a + b * c - d / e ↵后序遍历结果:a b c * + d e / - ↵#include <iostream>#include <lis...

2020-05-08 12:35:26 627

原创 叶子结点数及深度

按先序遍历序列建立一个二叉树的二叉链表,统计二叉树中叶子结点个数和二叉树的深度。测试用例1-+a##*b##c##/d##e##↵期待输出1按先序遍历序列建立一个二叉树的二叉链表,统计二叉树中叶子结点个数和二叉树的深度。#include <iostream>#include <list>#include <string>using name...

2020-05-08 12:34:20 962

原创 判断两棵二叉树是否相似。

按先序遍历序列建立两个二叉树的二叉链表 A 和链表 B ,设计算法判断 A 、 B 二叉树是否相似。注:其中“#”表示的是空格,空格字符代表空树。测试用例1ab#c##d##↵xc#v##b##↵期待输出1A与B相似↵#include <iostream> #include <list> #include <string> usi...

2020-05-08 12:33:12 1006

原创 Leetcode #6 Z 字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:s...

2020-05-08 12:27:43 95

原创 Leecode #103 二叉树的锯齿形层次遍历

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/p...

2020-05-08 11:31:30 86

原创 Leetcode #104 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...

2020-05-07 06:25:49 87

原创 Leetcode #107 二叉树的层次遍历 II

给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]来源:力扣(LeetCode)链接:http...

2020-05-07 06:14:55 84

原创 Leetcode #102 二叉树的层序遍历

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-c...

2020-05-07 06:01:17 113

原创 Leetcode #145 二叉树的后序遍历

给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出...

2020-05-06 21:03:38 110

原创 Leetcode #144 二叉树的前序遍历

给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2020-05-06 21:00:44 72

原创 Leetcode #94 二叉树的中序遍历

给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution {publi...

2020-05-06 20:55:11 82

原创 Leetcode #150 逆波兰表达式求值

根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: ((2 + 1) * 3) = 9示例 2:输入:...

2020-04-26 10:05:57 88

原创 Leetcode #84 柱状图中最大的矩形

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。class Solution {public: int largestRectangleArea(vector<int>& heights) { heights.push_back(-1); stack<int>...

2020-04-24 12:28:25 85

原创 奇偶数输出

编写一个程序,任意输入n个100以内的数,将它们的奇数和偶数分别存入链队为Q1和Q2中,然后配对输出链队Q1、Q2中的值,直到任一队列为空为止。测试用例120↵42 38 45 64 90 85 39 34 99 78 19 83 75 70 79 88 61 88 54 80↵期待输出145 42↵85 38↵39 64↵99 90↵19 34↵83 78↵75 70↵...

2020-04-20 09:37:31 1066

原创 回文

利用栈和队列的特性设计一个算法,用于判断一个字符串是否为回文。测试用例1`abcdefg↵期待输出1不是回文↵#include <iostream>#include <stack>#include <queue>#include <string>using namespace std;int main(){ strin...

2020-04-20 09:30:51 171

原创 括号是否配对

假设一个算术表达式可以包含三种括号:“(”和“)”,方括号“[”和“]”,及花括号“ { ”和“ } ”,且这三种括号可嵌套使用。试设计算法判断给定表达式中所含括号是否配对出现。测试用例1{3*[4*(5+6)+7]}期待输出1括号配对↵#include <iostream>#include <string>#include <stack>...

2020-04-20 09:23:55 308

原创 输出学生成绩

试设计一个算法,建立一个学生成绩栈要求从键盘上输入法 N 个整数,按照下列要求分别进入不同栈,并分别输出每个栈的内容。(1) 若输入的整数 x 小于 60 ,则进入第一个栈;(2) 若输入的整数 x 大于等于 60 ,小于 100 ,则进入第二个栈;(3) 若输入的整数 x 大于等于 100 ,则进入第三个栈;测试用例16↵34 67 78 90 99 100↵期待输出160&g...

2020-04-14 17:35:57 859

原创 求交集

已知两个单链表 LA 和 LB 分别表示两个集合,其元素递增排序,设计算法求出 LA 和 LB 的交集 C ,要求 C 同样以元素递增的单链表形式存储。测试用例111 22 33 44 55↵22 33 44 66 77 88↵期待输出122 33 44 ↵#include <iostream>#include <list>#include <ss...

2020-04-11 15:29:52 415

原创 删除结点

对给定的单链表 L ,设计一个算法,删除 L 中值为 x 的结点的直接前驱结点。1 由键盘输入值,换行表示输入结束,根据输入建立单链表。2 输入链表中的一个元素值,从链表中删除这个元素的前驱结点。3 对删除元素后的链表元素在屏幕上显示。测试用例111 22 33 44 55 66 77↵44↵期待输出111 22 44 55 66 77↵#include <iostre...

2020-04-11 15:27:55 1273 1

原创 Leetcode #71 简化路径

以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜...

2020-03-30 12:21:41 65

原创 Leetcode #42 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6来源:力扣(LeetCode)链接:htt...

2020-03-30 11:36:14 137

原创 习题3-1 Score UVa1585

There is an objective test result such as “OOXXOXXOOO”. An ‘O’ means a correct answer of a problemand an ‘X’ means a wrong answer. The score of each problem of this test is calculated by itself andi...

2020-03-30 01:54:23 126

原创 C++矩阵类的实现

Matrix.h#ifndef __MATRIX_H__#define __MATRIX_H__class Matrix{public: Matrix(int row, int col); //普通构造函数 Matrix(const Matrix& matrix); //拷贝构造函数 Matrix(); /...

2020-03-28 21:04:18 303

原创 C++顺序表的实现

Seqlist.h#ifndef __SEQLIST_H__#define __SEQLIST_H__#include <iostream>const int INIT_SIZE = 4;class Seqlist{public: Seqlist(); //普通构造函数 Seqlist(const Seqlist& seqlist);...

2020-03-28 21:02:42 279

原创 Leetcode #20 有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)...

2020-03-26 11:14:13 71

原创 Leetcode #111 二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最小深度 2.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree著作权归...

2020-03-26 10:15:43 116

原创 Leetcode #101 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/symmetric-tree著作权归领扣网络所...

2020-03-26 09:46:10 80

原创 Leetcode #100 相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1/ \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1/ 2 ...

2020-03-26 09:33:10 63

原创 Leetcode #98 验证二叉搜索树

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null,null,3...

2020-03-26 09:19:33 81

原创 马的遍历

Description有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步FormatInput一行四个数据,棋盘的大小和马的坐标Output一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1)Sample 1Input3 3 1 1Output0 3 23 -1 12 ...

2020-03-26 02:43:10 220

原创 快递公司运费计算

利用C++的多态性,设计一快递运费计算软件。 货物由北京可通过快递公司运往天津、上海、太原、广州、昆明、新疆六个城市,分别用1、2、3、4、5、6作为它们编号。运送货物的重量分为1、2、3公斤。快递公司有四家:E通宝、顺风、EMS和圆通,编号为1、2、3、4。不同城市、不同重量、不同的快递公司所费用由表1给出。当输入快递公司编号、城市编号和货物重量时,屏幕输出货物运送快递公司名称、到达的城市及费用...

2020-03-25 13:40:49 1047

原创 小型公司管理系统

编写一个程序实现小型公司的工资管理。该公司有4类人员,经理(manager)、技术人员(technician)、销售(sales)、销售经理(salesmanager)。这些人员都是职员(employee),有姓名和月工资信息。月工资的计算方法是:经理固定月薪8000元,技术人员每小时100元,销售员按当月销售额的4%提成,销售经理既拿固定月工资5000元也拿销售提成,销售提成为所管辖部门当月销售...

2020-03-25 12:45:17 1591

原创 是谁在叫

定义猫科动物Felid类,由其派生出猫类(Cat)和豹类(Leopard)。Felid包含构造函数、析构函数和纯虚函数soundCat包含构造函数、析构函数和虚函数soundLeopard包含构造函数、析构函数和虚函数sound要求:定义一个Felid类指针,采用动态内存分配的方式建议一个Cat对象,并且调用sound函数,之后撤销该对象,采用动态内存分配的方式建议一个Leopard对象,...

2020-03-25 12:27:04 530

空空如也

空空如也

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

TA关注的人

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