自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 现代物理学概论

比原子还小的粒子,同时具有两种状态。这些粒子不仅像粒子,也像波。:波粒二象性就是一种叠加态、还有自旋、偏振、位置和动量等其他物理性质的叠加态(有点像薛定谔的猫)只要不测量这个粒子,粒子就一直处于各种叠加态中。

2024-07-21 14:36:15 413

原创 javascript学习笔记二

浏览器分为两个部分:渲染引擎和js引擎渲染引擎用来解析HTML与CSS,俗称内核。比如chrome浏览器blink,老版本webkit(偷的苹果浏览器的内核)js引擎也叫js解释器,用来读取网页中的javascript的代码,对其处理后运行,比如chrome浏览器的v8引擎浏览器本身并不会执行js代码,而是通过内置的JavaScript引擎大白话:变量就是一个装东西的盒子通俗:变量就是用于存放数据的容器,我们通过变量名可以获取数据,甚至数据可以修改为什么需要数据类型。

2024-07-14 16:01:12 799

原创 javascipt学习笔记一

浏览器分为两个部分:渲染引擎和js引擎渲染引擎用来解析HTML与CSS,俗称内核。比如chrome浏览器blink,老版本webkit(偷的苹果浏览器的内核)js引擎也叫js解释器,用来读取网页中的javascript的代码,对其处理后运行,比如chrome浏览器的v8引擎浏览器本身并不会执行js代码,而是通过内置的JavaScript引擎大白话:变量就是一个装东西的盒子通俗:变量就是用于存放数据的容器,我们通过变量名可以获取数据,甚至数据可以修改为什么需要数据类型。

2024-07-14 16:00:21 611

原创 Html5+Css3学习笔记

css: Cascading Style Sheet ( 级联样式表)作用:美化网页。

2024-07-10 21:35:55 887

原创 操作系统复习(持续更新中)

在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方可执行,如正在执行的进程A提出打印请求,需要使用打印机,但是此时进程B正在使用打印机,故此时进程A只能等待并且放弃处理机资源,当进程B使用完打印机后,并且分配处理机才能运行,可以看出,进程的执行通常不是一气呵成的,而是走走停停的方式。用户编写好的程序交给计算机运行,从用户的角度看,计算机运行的是程序,但是,实际上,在计算机中运行的是线程。物理实体是实际存在的,逻辑上的对应物是虚拟的,现在主要有两种虚拟技术,时分复用和空分复用技术。

2024-06-14 01:18:46 889

原创 数据库复习

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能2关系代数。

2024-06-13 00:17:26 1045

转载 存储器管理(2)

五、基本分页存储管理方式  连续分配方式会形成很多碎片,为之进行紧凑操作的开销非常大,如果允许一个进程直接分散地装入到许多不相邻接的分区中,则无须进行紧凑操作,基于这一思想产生了离散分配方式,如果离散分配的基本单位是页,则称为分页存储管理方式,若为段,则为分段存储管理方式。  5.1 页面与页表  分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页进行编号,从0开始。相应地,把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或者页框,也同样为它们编号,如

2024-05-07 22:18:02 198

转载 存储器管理

由于绝对装入方式只能将目标模块装入到内存中事先指定的位置,在多道程序环境下,编译程序不可能事先知道所编译的目标模块应放在内存的何处,(因为不知道分区分配给程序的起始地址)因此,绝对装入方式只适用于单道程序环境,在多道程序环境下,所得到的目标模块的起始地址通常都是以0开始的,程序中的其他地址也都是相对于起始地址计算的,此时应采用可重定位装入方式,根据内存的当前情况,将装入模块装入到内存的适当位置。因此,装入内存后的所有地址都仍是相对地址,为了使地址转换不影响指令的执行速度,需要重定位寄存器的支持。

2024-05-07 21:21:51 50

转载 数据库设计

数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间的关系过程。三、数据库设计的重要性Ø 不经过设计的数据库或是设计糟糕的数据库很可能导致1、 数据库运行效率地下2、 更新、删除、添加数据出现问题Ø 良好设计的数据库1、 执行效率高2、 使应用程序更便于开发3、 扩展性好4、 维护性好。

2024-05-07 12:12:17 39

转载 SQL视图

视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。视图看上去非常像数据库的物理表,对它的操作同任何其它的表一样。

2024-05-07 11:45:23 20

原创 力扣刷题 63.不同路径 II

这道题目我一开始被误导了,以为不用自己创建棋盘,只用题目给出的棋盘就可以了,但是很明显这不可行,因为障碍物的坐标的值应该为0而不是1,0意味着没有路径可以到达障碍物。事实上,我们可以把题目给的棋盘当作地图,上面标记了障碍物的位置,这样也不需要在自己的棋盘上标记障碍物了,只要对照着地图看就行了,是不是很妙。从递推公式可以看出,状态由左边和上边的状态推到而来,用从左至右,从上至下的两层循环即可。1. 向右 -> 向右 -> 向下 -> 向下。第一行障碍物前的全为1,第一列障碍物前的全为1。

2024-04-30 14:41:07 529

原创 力扣刷题 62.不同路径

机器人试图达到网格的右下角(在下图中标记为 “Finish” )。从递推公式可以看出,状态由左边和上边的状态推到而来,用从左至右,从上至下的两层循环即可。由于靠边的格子只能从左边或上边的格子抵达,所以我做了分类讨论。按照我刚刚的思路只需要初始化dp[0][0]即可,设立为1。这是个类似棋盘的结构,所以我们使用二维数组。dp[i][j]为到[i][j]点的路径总和。1. 向右 -> 向下 -> 向下。2. 向下 -> 向下 -> 向右。3. 向下 -> 向右 -> 向下。3*6的棋盘的数组的结果应该如下。

2024-04-28 19:34:43 494

原创 SQL数据更新

eg:将一个新学生记录(学号:95020;删除数据的类型与修改数据的几乎完全一致,只有语法格式有所区别。若没有指定列名,则默认插入的数值是完整的,与列的个数一致。VALUES(值,值,值) 记忆:宾语倒装。对每一个系,求学生的平均年龄,并把结果存入数据表。SET 列名 = 表达式,列名 = 表达式……eg:将计算机科学系全体学生的成绩置零。INTO 表名 (列名,列名,列名)INTO 表名 (列名,列名,列名)将学生95001的年龄改为22岁。将信息系所有学生的年龄增加1岁。

2024-04-26 20:22:23 543

原创 SQL嵌套查询和集合查询

思路是查询student表中的学生,如果在课程表中这个学生选修了1号课程,条件就为false,结果中不会有这个学生。这个查询就很想if语句,如果成立就将其放入查询结果,如果不成立,就不放入查询结果。不相关子查询:子查询里的条件不依赖于父查询,从里到外依次查询,子查询的结果作为上一次查询的条件。嵌套查询:将一个查询块嵌套在一个另一个查询块中where子句中的查询叫做嵌套查询。一般与比较运算符搭配,扩展比较运算符的功能,不用局限于内层查询只能返回一个值。相关子查询:子查询里的条件依赖于父查询。

2024-04-26 16:22:51 352

原创 力扣刷题 746.使用最小花费爬楼梯

一定是选最小的,所以dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);dp[i - 1] 跳到 dp[i] 需要花费 dp[i - 1] + cost[i - 1]。dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] + cost[i - 2]。dp数组的值应该为dp[2] = 1 dp[3] =2, dp[4] = 2……- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。你将从下标为 1 的台阶开始。

2024-04-24 19:57:06 292

原创 力扣刷题 70.爬楼梯

从楼底到楼顶共有n阶楼梯,我们要求爬n阶楼梯有几种方法,我们思考n阶楼梯可以从第几阶楼梯爬来,根据我们每次可以爬1或2个台阶,可得n阶楼梯是由第n-1阶台阶走一个,或第n-2阶台阶走两个到达。因此爬n阶楼梯的方法数其实是爬n-1阶楼梯的方法数加爬n-2阶楼梯的方法数。所以我们可以不用讨论dp[0]的初始化,只初始化dp[1] = 1,dp[2] = 2,然后从i = 3开始递推,这样才符合dp[i]的定义。从递推公式dp[i] = dp[i - 1] + dp[i - 2];1. 1 阶 + 1 阶。

2024-04-22 21:28:52 414

原创 力扣刷题 509.斐波那契数

从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的。其基本原理是将大问题分解为小问题,通过保存中间结果来避免重复计算,从而提高算法的效率。题目已经把递推公式直接给我们了:状态转移方程 dp[i] = dp[i - 1] + dp[i - 2];如果代码写出来,发现结果不对,就把dp数组打印出来看看和我们推导的数列是不是一致的。dp[i]的定义为:第i个数的斐波那契数值是dp[i]

2024-04-21 20:44:58 358

原创 力扣刷题 151.反转字符串中的单词

想要反转字符串中的单词,如果想要一步到位,可谓是困难重重,想把the移到末尾,不仅要考虑顺序的问题,还要面临覆盖bule单词的问题。需要注意的是,限制条件不能使用fast,因为fast遇到的第一个元素不一定是字母,可能的是空格,但slow第一个填入的一定是字母。如第二个范例 hello world。那么我们的思路是,遇到空格就删除,但是在遇到单词时先补一个空格,这样就可以实现删除多余的空格啦。第二步,既然覆盖的方法不可行,会覆盖需要用的信息,不如直接反转字符串,这样空间的问题就迎刃而解了。

2024-04-21 16:49:04 569

原创 刷题 替换数字

如果快指针指到字母,就把字母传给慢指针的位置,如果快指针指到数字,慢指针就移动将number输入到字符串。快指针前进一个,发现是数字,在慢指针索引插入number,但是没有足够放下number的空间,如果想要创造空间就需要将数组整体往后移,很麻烦而且时间复杂度高。给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。

2024-04-19 21:27:42 534

原创 SQL连接查询

形式为(a,b),不同的顺序意味着不同的有序对,(a,b)≠(b,a) 除非 a=b。设A,B为一个集合,将A中的元素作为第一个元素,B中的元素作为第二个元素,形成有序对。:所有这些有序对都由一个称为a和B的笛卡尔积的集合组成,并被记录为AxB。注意:任何子句中引用表1和表2中同名属性时,都必须加表名前 缀。[例] 查询每一门课的直接先修课的课程名。可以用另一种表达方式(方便连接格式的统一)同时涉及多个表的查询称为连接查询。SQL中连接查询的主要类型。需要给表起别名以示区别。上面的连接均属于内连接。

2024-04-19 16:12:42 415

原创 力扣刷题 27.移除元素

示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2: 给定 nums = [0,1,2,2,3,0,4,2], val = 2, 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。出一个新的数组,很有意思。

2024-04-17 20:03:55 344

原创 力扣刷题 589/590. N叉树的前后序遍历

n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值。原理与二叉树的前序遍历和后序遍历是一样的。给定一个 n 叉树的根节点。分隔(请参见示例)。

2024-04-14 12:24:35 163

原创 力扣刷题 226.翻转二叉树

想要实现翻转,乍一看可能觉得挺难的,但仔细想想就会发现我们只需要交换每个节点的左节点和右节点就可以实现二叉树的翻转。因为中序遍历是先翻转左子树,再翻转当前根节点,这时原先的左子树变为了右子树,右子树变为了左子树,然后在翻转右子树的时候就出了问题,因为此时的右子树是原先的左子树,无法真正翻转真正需要翻转的子树。参数就是要传入节点的指针,不需要其他参数了,通常此时定下来主要参数,如果在写递归的逻辑中发现还需要其他参数的时候,随时补充。先反转当前根节点的左右孩子节点,再翻转左右子树,当前节点为空的时候,就返回。

2024-04-14 11:19:49 945

原创 力扣刷题 二叉树层序遍历相关题目II

给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。本题难点在于如何填充每个节点的next 指针,让这个指针指向其下一个右侧节点。如何获取队列中下一个节点,我们还没有遍历到下一个节点,怎么能获取下一个节点的指针呢?填充它的每个 next 指针,让这个指针指向其下一个右侧节点。这里的思路是保存上一个遍历节点的指针,让它的next指针指向当前节点。

2024-04-12 20:57:27 1871

原创 SQL单表查询(2)

Sdept为主排序,Sage为次要排序,当系相同才按年龄排序。注:用DISTINCT以避免重复计算学生人数对查询结果分组 用途 – 细化集函数的作用对象 • 未对查询结果分组,集函数将作用于整个查询结果 • 对查询结果分组后,集函数将分别作用于每个组◆使用GROUP BY子句分组 – 分组方法:按指定的一列或多列值分组,值相等的为一组 – 使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性和集函数 eg:求各个课程号及相应的

2024-04-12 16:02:08 494

原创 SQL的单表查询

查询仅涉及一张表,是一种最简单的查询操作。

2024-04-10 21:35:01 430

原创 力扣刷题 二叉树层序遍历相关题目

给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)ps:不能直接用queue.back()放入最后一个元素,因为需要遍历队列,把左右节点放入队列。第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。注意sum建立的位置,应该是在遍历之前,不然每遍历一个都会刷新。

2024-04-08 17:21:10 834

原创 力扣刷题 102.二叉树的层序遍历

常见的错误 vector赋值方式i<10;因为下标只能用来获取已经存在的元素。正确的写法是用 a.push_back(i)

2024-04-07 19:55:49 284

原创 力扣刷题 二叉树遍历的统一迭代法

上一次我们使用了迭代法来实现前中后序遍历,但是每一种遍历的访问和处理顺序不同,导致代码书写风格不同,不像是递归法,实现了其中的一种遍历方式,其他两种只要稍稍改一下节点顺序就可以了。我们以中序遍历为例,我们之前提到使用栈的话,无法同时解决访问节点(遍历节点)和处理节点(将元素放进结果集)但其实针对三种遍历方式,使用迭代法是可以写出统一风格的代码的。这样此时我们写出了统一风格的迭代法,不用在纠结于前序写出来了,中序写不出来的情况了。而前序和后序遍历只需要改变访问的顺序即可。给定一个二叉树的根节点。

2024-04-05 15:32:10 432

原创 力扣刷题 二叉树的迭代遍历

题干给你二叉树的根节点root,返回它节点值的遍历。

2024-04-04 20:56:06 1612

原创 力扣刷题 94./144./145. 二叉树的前中后序遍历

注意终止条件中c不是左子树和右子树为NULL,因为遍历函数输入的是左子树或右子树的指针。注意输入的函数参数要符合定义,不要遗漏数组。注意不要遗漏&符号。

2024-04-03 22:10:11 382

原创 力扣刷题 1005.K次取反后最大化的数组和

这道题目的测试实例分别提供了两种情况的思路,但思路并不是全面的,导致在从何取最小正数的判断上出现了差错。因此,实际生成思路时,不能完全依照给出的测试实例,可以适当的拓展实例以尽量涵盖所有的情况。变量前有系数时,勿遗漏乘号*。

2024-04-02 19:30:10 287

原创 力扣刷题 541.反转字符串II

当我们遍历到下标为3的元素,根据题意我们要反转前四个元素的顺序。首先要判断,是否经过了2k的距离,可以用if语句来判断i能否整除2k来实现。此时剩余元素已经不足2k个,但依旧有k个,所以只需翻转前k个。我们从下标为0的元素开始遍历,根据题意要翻转前k个元素的顺序。根据reverse函数,我们只需找到前k个元素的首尾两个元素。此时k等于2,末元素下标为2对应的c,似乎不对。但是实际编写时,整除的方法十分麻烦,有诸多细节要注意,越往后写条件越多。我们用一个for循环来遍历数组, 假设k=2,则2k=4。

2024-04-01 17:24:44 318

原创 力扣刷题 45.跳跃游戏 II

我们可能会想到每次跳当前元素的最大距离,但是这其实是错误的,让我们看一组例子,当前我们在下标为0,最大跳跃距离为2的格子,它的覆盖范围为从0到2,如果我们每次跳当前元素的最大距离,那么就会跳到下标为2,跳跃距离为1的元素,后面的过程就不一一罗列,整体的跳跃次数为3,下标由0到2到3再到4。在提交代码后,我们发现出错了,检查用例后,发现是当数组仅有一个元素的时候,不用跳跃就已经到终点,所以我们直接做一个剪枝操作,用一个if判断语句,跳出循环。很明显这不是最优解,如果在下标为1的元素起跳,只需两步就到终点了。

2024-03-30 13:11:00 2146 1

原创 力扣刷题 55.跳跃游戏

笔者一开始的思路陷入了每到一个位置,就要分类讨论跳跃长度,到下一个位置继续分类讨论,特别复杂,循环套循环。后来看了提示,想到了可以用最大覆盖范围,但是思路还是被限制了,其一是因为没有想到。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。,即元素的最大跳跃距离,而应该是从。给你一个非负整数数组。

2024-03-28 11:32:22 293

原创 力扣刷题 122.买卖股票的最佳时机II

我们之前的思路是找到递增区间首尾相减算利润,但事实上,递增区间的利润等于每天由于价格上涨带来的利润之和,比如prices[4]-prices[1]=(prices[4]-prices[3])+(prices[3]-prices[2])+(prices[2] - prices[1]) + (prices[1] - prices[0])。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。因此在这个基础上我们的。

2024-03-27 20:48:40 245 1

原创 力扣刷题 53.最大子数组和

笔者在一开始给result设定的初始值是0,但是这样的设置遗漏了最大值为负数的情况,比如nums为[-1,-1,-1]。至于如何记录子数组中最大的连续和,我们只需设置一个result去实时更新最大的连续和,就可以实现全局最优了。经过思考,我们发现在遍历过程中,当连续和为负数时,它对后续的数字相加起到的肯定是。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。,就是在局部最优的基础上记录最大的连续和。是数组中的一个连续部分。

2024-03-26 11:57:05 267

原创 力扣刷题 376.摆动序列

笔者当时就出现了这样的疑问,因此也去尝试删掉prediff==0的条件,但是在编译的过程中,我发现我遗漏了一种情况,即从一开始就是平坡的情况,比如nums=[0,0,0,2]。答案是最后一个,我的理解是由于我们的遍历是从左到右的顺序,只有到遍历到最后一个我们才能排除所有重复的元素。写到这里我们可能会产生疑问,既然我们在只有摆动变化的时候才更新prediff,那岂不是相当于跳过了平坡的情况,不会出现prediff等于0的时候。因此,我们修改判断坡峰的代码,增加prediff可以等于0的条件。

2024-03-25 12:43:54 571

原创 力扣刷题 344.反转字符串

如果用库函数reverse()可以直接解决,但是我们这里是为了体会算法,故不直接使用。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。这道题目思路很简单,不断首尾交换就可以完成,因此用一个双指针即可。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2024-03-24 14:38:04 175 1

原创 力扣刷题 455.分发饼干

但是小孩的循环本质上是依附于饼干数组的循环的,唯有饼干大小大于等于小孩胃口才可以继续小孩的循环,所以我们只需要用到一个if语句和索引index,当if语句满足,index加一,意味着遍历到下一个小孩。我们可以这样理解,我们放一个指针在最小胃口的小孩上,在遍历饼干的过程中,如果判断条件成立,则将指针移到下一个小孩身上。我们对饼干数组和胃口数组都进行从小到大的排序,从最小的饼干开始遍历,从胃口最小的小孩喂,喂完后轮到下一个小孩,如果饼干大小大于等于胃口,那就成功喂食,如果没有,就遍历下一个饼干。

2024-03-23 16:14:28 261

空空如也

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

TA关注的人

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