自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python提取pdf图片

【代码】python提取pdf图片。

2023-08-09 16:37:21 1519 2

原创 pdf中提取某一页

【代码】pdf中提取某一页。

2023-08-08 21:58:27 90

原创 代码随想录之平衡二叉树

如果左右子节点对应的子树有一个不是平衡二叉树就一直-1返回到头了。本题思路是针对高度,只不过是判断高度之差的绝对值是否大于1罢了,只有全是平衡二叉树时才正常运行完。

2023-04-23 21:05:15 111

原创 代码随想录之完全二叉树

2.向左遍历和向右遍历的深度相同,就是左臂和右臂一样长。1.h层的完全二叉树的节点个数为。

2023-04-23 16:47:19 94

原创 代码随想录之二叉树的深度

求最大深度可以等效求高度,即从下往上,使用后序遍历。

2023-04-23 10:58:13 44

原创 代码随想录之对称二叉树

【代码】代码随想录之对称二叉树。

2023-04-22 15:03:54 60

原创 代码随想录之翻转二叉树

【代码】代码随想录之翻转二叉树。

2023-04-22 13:21:08 35

原创 代码随想录之二叉树的遍历

前序:中左右中序:左中右后序:左右中。

2023-04-21 21:27:17 56

原创 代码随想录之有多少小于当前数字的数字

1.为什么hash的大小是101,因为nums[i]的大小最大为100。2.首先排序,排序后其下标就代表有多少个比它大的数。4.最后再根据nums数组的数的位置映射回去。3.如果出现重复的,

2023-04-21 00:03:37 32

原创 代码之移除元素(双指针)

【代码】代码之移除元素(双指针)

2023-04-20 21:43:37 33

原创 力扣专题之对链表进行插入排序

【代码】力扣专题之对链表进行插入排序。

2023-04-13 00:06:47 41

原创 力扣之乘积最大子数组

因为可能会出现正负的情况所以直接把所有的max和min的情况都进行比较。

2023-04-12 21:36:44 39

原创 力扣之除自身以外数组的乘积

左边乘积数组和右边乘积数组,手动计算头尾的值,最后自动迭代。

2023-04-12 17:54:18 50

原创 力扣之找到字符串中所有字母异位词

【代码】力扣之找到字符串中所有字母异位词。

2023-04-12 17:32:48 44

原创 力扣之二叉树展开为链表

【代码】力扣之二叉树展开为链表。

2023-04-10 09:56:24 39

原创 力扣专题之最长连续序列

2.逮着一个数一直while到以该数为头的最长连续序列的最大长度。3.使用变量记录最大值并返回。1.使用set去重。

2023-04-09 22:54:59 217

原创 力扣之最长有效括号

这里引用力扣官方题解视频。

2023-04-09 12:45:21 43

原创 力扣专题之丑数

因此定义一个2,3,5的vector,当n%2/3/5可以除尽时,就一直除,一直把2/3/5都除了最后比较n是否为1,不为1不是丑数。选取3个指针分别表示现在乘了几个2/3/5,将dp[i]取为最小的num,更新指针。

2023-04-08 21:19:18 72

原创 力扣10正则表达式匹配

就是如果匹配的话就是扔这个匹配了的字符或者扔掉整个组合。本题目的关键是看对*的处理。

2023-04-08 15:57:20 55

原创 代码之整数拆分

因为在遍历时,在遍历j时,比如i=3,那么j从1到2,j=1时,记录了拆除j=1的最大值,那么到j=2时,怎么比较拆除j=2的值比拆除j=1的时的最大值谁大谁小呢,而每轮的最大值正好保存到了dp[i]中,那么必须每轮加上对dp[i]的比较。2.递推公式:dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));拆为2个数乘积为(i - j) * j或者多个数dp[i - j] * j。1.dp数组的含义:分拆数字i,可以得到的最大乘积为dp[i]。

2023-04-01 00:21:08 116

原创 力扣专题之路径问题

路径问题属于动态规划问题。

2023-03-31 23:43:29 383

原创 力扣专题之楼梯类问题

本题目属于动态规划类解法。

2023-03-31 18:49:36 26

原创 力扣专题之区间问题

本区间问题属于贪心算法解法本类问题的一般步骤1.(使用cmp),一般按左边界排序2.将结果为1或者将第一个元素放入结果集中,因为遍历比较的是i和i-1,需要3.。4.根据具体题目条件。

2023-03-31 13:39:23 136

原创 贪心之划分字母区间

本题对字符串划分区间,同一个字母只能出现在一个区间内。3.遍历更新right为right和当前字母的最大位置。2.left和right统计左右边界的位置。4.区间分割点为i == right。1.首先统计每个字母出现的最远位置。

2023-03-31 10:47:18 28

原创 代码之用最少数量的箭引爆气球

4.重叠了当此时的(后一个)弓箭的右边界更新为前一个和后一个的右边界的最小值。不重叠则需要多一个弓箭来射。3.循环,如果后一个弓箭的左边界大于前一个弓箭的右边界证明二者不重叠,相反是小于等于,重叠。2.起始的弓箭数为1,因为第一个气球需要1个弓箭。本题目本质是找到重叠的区间。1.按区间左边界进行排序。

2023-03-31 00:00:45 71

原创 代码之根据身高重建队列

本题有2个维度,一个是身高,一个是排在前面的人数,与分发糖果一样有2个维度,只能是先固定一个维度再去考虑另一个维度,不能两个同时考虑。2.遍历people数组,得到每一个people元素的k值people[i][1]3.将每一个people元素插入到que数组中。1.按身高从大到小,k值从小到大排序。

2023-03-30 23:07:53 62

原创 贪心之柠檬水找零

2.走循环,遇到10就找零5,没有5直接失败。贪心体现在遇到20优先找零10和5,没有10再找3个5,其他情况失败。1.定义3个变量分别统计5,10,20的钞票数。3.走完循环返回成功。

2023-03-30 21:54:06 32

原创 贪心之分发糖果

2.从左往右,如果ratings[i]大于ratings[i-1],那么ratings大的人得到的糖果要比ratings小的人得到的糖果+1。i从1开始是因为有i-1。3.从右往左遍历,同理,同时取从左往右值的一个最大值,i从ratings.size() -2 开始遍历是因为有i+1。1.初始化candy数组,至少每个孩子1个糖果全部初始化为1。4.for循环收集结果。

2023-03-30 21:18:18 26

原创 代码随想录二分查找

左闭右闭,说明二者最后会出现相等的情况,不能忽视left == right的情况。右开说明不会出现left == right的情况。一,左闭右闭[left, right]二,左闭右开[left, right)

2023-03-30 20:13:20 36

原创 C++基础之运算符重载(4)指针

指针运算符为*和->

2023-03-22 23:19:04 77

原创 C++基础之运算符重载(3)递增

2.二者返回值的区别:前置++重载函数使用引用返回是为了保证应该修改的对象修改了。而后置++重载函数在函数体内创建了一个临时对象temp,出函数体立刻销毁temp,返回temp的引用会出错,因此不能返回引用而返回一个temp的拷贝。1.使用占位参数解决前置++重载函数和后置++重载函数一致的问题。3.重载

2023-03-22 16:35:02 70

原创 C++基础之运算符重载(2)左移

首先是语句cout

2023-03-21 23:02:14 56

原创 C++基础之运算符重载(1)加号

重载可分为类内重载和全局重载函数,但二者不可同时存在。

2023-03-21 22:06:23 55

原创 C++基础之友元(3)友元成员函数

1.友元关系不能被继承,类A是类B的朋友,类C是类A的儿子,类C就不是类B的朋友。3.友元关系不具有传递性。类B是类A的朋友,类C是类B的朋友,但是类C。2.友元关系是单向的,类A是类B的朋友,但是类B不一定是类A的朋友。不一定是类A的朋友。

2023-03-21 21:19:33 46

原创 C++基础之友元(2)友元类

2.虽然声明了Building类但编译器仍不知道building对象里面有哪些成员,如下会报错,解决方法是声明和对象分开。1.直接使用Building类而上面未声明Building类。在类外访问一个类的私有成员。完成错误解决之后可访问。

2023-03-21 16:54:44 38

原创 C++基础之友元(1)友元全局函数

友元有三种1.友元(全局)函数2.友元类3.友元成员函数定义一个家类。

2023-03-21 16:36:09 86

原创 C++基础之常函数与常对象

1.this指针的本质为一个指针常量(无法改变指向的指针),2.如果想让this指针指向的对象的内容不能被修改,const Person* const this;3.系统使用在函数参数列表后面大括号前面加关键字const相当于const Person* const this;

2023-03-21 15:28:44 63

原创 C++基础之this指针

1.this指针指向用来调用成员函数的对象,谁(哪个对象)调用该方法,this指针就指向谁(哪个对象)。2.在类的非静态的成员方法中返回对象本身,可以使用return *this。1.当形参和成员变量同名时,可以用this指针来区分。2.this被作为隐式参数传递给方法,每一个。的成员方法中都有this指针。

2023-03-20 22:55:28 31

原创 C++基础之单例设计模式

2.懒汉式:先初始化静态实例为nullptr,调用getInstance方法时如果发现为空指针则创建对象,否则直接返回创建好的对象。1.饿汉式:不管调用不调用getInstance方法,该静态实例在编译阶段已经存在。单例:单个实例(对象),创建一个对象,实例化一个对象,创建一个类的实例。2.私有化声明一个静态的实例(私有的目的是防止外界通过类名直接访问)3.公有化一个getInstance方法返回对象指针。单例的好处:防止创建过多的对象,节省内存。设计模式:程序员的经验总结。4.类外定义静态的实例。

2023-03-20 22:36:21 25

原创 C++基础之静态成员

1.静态的成员函数不能访问非静态的成员变量,可以访问静态的成员变量。因为静态成员函数在编译时就产生了(分配了内存),而普通的成员变量在对象创建时才分配内存,因此无法访问。2.普通的函数可以访问静态成员变量也可以访问非静态成员变量,成员函数。2.静态成员变量不属于某个对象,而是属于类,所有对象共享。在成员前加static关键字可以使成员变成静态成员。3.静态成员变量可以通过类名或者对象名的方式来获取。因此静态成员包括静态成员变量和静态成员方法。C++类中的成员指的是成员变量和成员方法。

2023-03-19 19:44:58 51

空空如也

空空如也

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

TA关注的人

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