- 博客(27)
- 收藏
- 关注
原创 LeetCode——二叉树的最近公共祖先
题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例一:输入: root = [...
2020-04-29 14:14:24
132
原创 LeetCode——二叉树的最大深度
题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。思路如果根节点为空那么返回0;运用递归找到左右子树的最大深度,求得最大的max值加1代码publi...
2020-04-28 19:21:06
129
原创 LeetCode——对称二叉树
题目描述给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3思路1.用递归法,创建一个bool 类型的ismirror函数 在里面写是否正确的方法,运用递归,在...
2020-04-24 11:55:47
119
原创 leetcode 100——相同的树
题目描述给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例一输入:1 1/ \ / 2 3 2 3[1,2,3], [1,2,3]输出: true示例 2:输入:1 1/ 2 2[1,2...
2020-04-21 23:20:43
99
原创 只出现一次的数字
题目描述136.只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解题思路1.用暴力法public class Solution {...
2020-04-07 21:48:27
74
原创 无重复字符的最长子串
题目描述无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字...
2020-04-07 21:02:06
52
原创 滑动窗口最大值
题目描述解题思路:暴力法:遍历所有的滑动窗口,取到每一个滑动窗口的最大值。代码public class Solution { public int GetMax(int[] a,int start,int k) { int max=int.MinValue,i=0; while(i<k){ if(a[s...
2020-03-26 15:54:16
54
原创 整数反转
题目描述:解题思路:依次把组成x的数字从后往前遍历出来并依据相应数学表达式重新组成数temp,最终返回temp注意一定要判断temp的范围,考虑到溢出情况!!!代码:public class Solution{ public int Reverse(int x) { long temp = 0; while(x!=0) ...
2020-03-24 17:20:03
58
原创 猜随机数
猜随机数题目描述用c++的方法实现:首先根据公式让系统生成一个随机数magic,使用do-while循环,因为每次猜测后程序会输出是第几次猜测,所以此cout语句要在循环当中,其余很好理解代码如下:运行结果:...
2020-03-04 16:20:01
134
原创 合并两个有序数组——c++实现
合并两个有序数组题目描述现将数组2中的元素填充到数组1中,全都放到数组1元素的后面,当flag=0时,说明新数组当中元素已经排好顺序不需改变,若flag=1,则需进行数组排序,代码如下:...
2020-02-28 17:49:59
1179
原创 买股票的最佳时机——c++实现
买股票的最佳时机问题描述找出prices里的最小值,遍历其中数值,将所有的数值与最小值做差,找出差的最大值,即为获取的最大利润。代码如下:...
2020-02-28 17:37:12
376
原创 最大子序和——c++实现
最大子序和题目描述要找到连续子数组的最大和,我们定义两个变量sum和maxsum,sum用来移动查找数组当中满足成为连续子数组最大和要求的元素,maxsum用来更新当前子数组的最大和,代码如下:...
2020-02-27 16:14:43
243
原创 移除元素
移除元素——c++实现题目描述运用双指针,快指针在数组中从前向后遍历,当快指针所指元素不等于val的元素时,将快指针所指元素的值赋给慢指针,赋值后,慢指针向后移动,快指针接着赋值,最后输出慢指针之前的元素个数(包括慢指针当前所指元素)即可。代码如下:...
2020-02-22 15:30:10
59
原创 两数之和
两数之和——c++实现题目描述此题我用的暴力法,用两个for循环实现,当数组中第i个元素与第j个元素相加恰好等于目标值的时候,输出i,j。两个循环是并列的,刚开始第二个for循环我写在了第一个循环里面,也没有定义i,j为常量,所以出现了很多错误,改了好久…代码如下:...
2020-02-22 14:24:52
63
原创 删除排序数组中的重复项
删除排序数组中的重复项——c++实现题目描述对于数组问题首要想到指针,本题采用双指针。将第一个指针指向数组中第一个元素,第二个指针指向数组中第二个元素,第二个指针从前往后遍历,若第一个指针与第二个指针所指元素不相同,将第一个指针向后移一位。最终返回值为第一个指针所指的元素个数加一,算法如下:...
2020-02-22 14:10:06
100
原创 类与对象
在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。对象=属性(静态的特征)+方法(动态的特征)在Python中,定义类是通过class关键字:以man为例:class man(object):passclass后面紧接着是类名,即man,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继...
2019-11-02 10:58:58
113
原创 else与with语句
else语句要么怎样,要么不怎么样干完了能怎样,干不完就别想怎样if…: (如果if后的条件为真,执行if语句后的循环… 执行到break跳出了,else后的 语句不会被执行)break;else: (如果if后的条件为假,那么执行else后的条件)…没有问题,那就干吧(与异常处理搭配)例:with语句加with在打开文件前,可以自动关闭文件,避免忘记关...
2019-10-31 12:43:47
117
原创 python之异常处理
try-except语句:try:检测范围except Exception[as reason]:出现异常(Exception)后的代码处理try-finally语句try:检测范围except Exception[as reason]:出现异常(Exception)后的代码处理finally:无论如何都会被执行的代码...
2019-10-30 17:11:13
71
原创 Python基础之文件和文件系统
文件包括(.exe .txt .ppt .jpg .mp4 avi)打开文件的方法:文件对象方法:文件系统os模块中关于文件常用的函数使用方法:
2019-10-28 18:26:37
41
原创 python基础之字典与集合
字典Python内置了字典:使用键-值(key-value)存储,具有极快的查找速度。用dict实现,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:如果key不存在,dict就会报错:要...
2019-10-27 12:14:35
176
原创 Python基础之函数与lambda表达式
创建函数调用函数:Python中存在很多内置函数(已定义好的函数)使用时可直接调用定义函数:在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。例:定义函数时,需要确定函数名和参数个数;如果有必要,可以先对参数的数据类型做检查;函数体内部可以用return随时返回函数结果;函数...
2019-10-25 20:45:42
69
原创 Python基础之字符串与序列
字符串常见函数序列list()作为一个方法存在两个形态,一个有参数一个没参数list():不带参数,返回一个空的列表list([iterable]):返回一个迭代器tuple([iterable]):把一个可迭代对象转换为元祖str(obj):把obj对象转换成字符串max():返回序列或参数中的最大值(序列或参数类型要统一)min():返回序列或参数中的最小值(序列...
2019-10-24 13:19:08
63
原创 列表与分组
列表创建一个普通列表:通过方括号括起、逗号分隔的一组值得到。一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同,如:*添加新元素的方法:1.可以在列表结尾通过append()添加新元素,如:2.通过extend()添加新元素,如:用len()可以找出列表中元素的个数,如:从列表中获取元素(第一个元素从0开始)如:从列表删除元素:1.remove:必须要知道...
2019-10-22 21:03:36
583
原创 Python基础之条件与循环
if语句1.只有if:如果if语句判断为真,执行print,否则什么也不做2.if-else如果if语句为真,执行if后的,如果if语句判断为假,执行else(注意不要少些冒号)3.多个elif(elif是else if 的缩写)if<条件判断1>:<执行1>elif<条件判断2>:<执行2>elif<条件判断3>:...
2019-10-21 12:18:09
53
原创 #Python基础——变量,运算符,数据类型
一.变量1.变量前要进行赋值2. 变量名可以包括字母,数字,下划线,但变量名不能以数字开头3. 字母可以使大写或小写,但大小写是不同的4. 等号(=)是赋值的意思,左边是名字,右边是值,不能写反5. 尽量给变量取一个专业一点的名字二.字符串1.创建字符串,要在字符串两边加单引号或双引号2.如果字符串内出现单引号或双引号要用转义字符“\”3.在字符串前加r即为原始字符串,可以对转义...
2019-10-20 23:03:11
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人