- 博客(153)
- 收藏
- 关注
原创 计算机组成原理——总线
总线特点1.1. 分时:分时是指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发生信息。1.2. 共享:共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享,多个部件可同时从总线上接收相同的信息。总线设备2.1. 主设备:指获得总线控制权的设备2.2. 从设备:指被主设备访问的设备总线特性3.1. 机械特性:尺寸、形状3.2. 电气特性:传输方向和有效的电平范围3.3. 功能特性:每根传输线的功能3.4. 时间特性:
2024-01-03 19:48:13
638
原创 计算机组成原理——以存储器为中心的计算机硬件框架
控制器:指挥程序的运算存储器:存放数据和程序运算器:算术运算和逻辑运算输入设备:将信息转化成机器能识别的形式输出设备:将结果转化成人们熟悉的形式
2024-01-02 20:10:45
774
原创 计算机组成原理——冯诺依曼计算机硬件框图
存储器:存放数据和程序运算器:算术运算和逻辑运算控制器:指挥程序的运算输入设备:将信息转化成机器能识别的形式输出设备:将结果转化成人们熟悉的形式
2024-01-02 19:59:45
674
原创 数据结构——【万字文章+配图+代码】带你深入理解二叉树
二叉树是一种有限集合,由根和左右子树构成,每个结点最多有两棵子树,且这两棵子树具有顺序关系。
2023-12-18 21:48:16
949
原创 java期末考试题目归纳总结
java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。子类和父类对象在进行类型转换时,子类对象可以被视为父类的一个对象,父类对象不能被当作是某一个子类的对象。Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且参数的个数和类型以及。关键字修饰的方法拥有方法体,其他方法都应是没有方法体的抽象方法(JDK1.8以后)
2023-12-14 07:30:00
1640
原创 Leetcode刷题详解——验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。是 C++ 中的一个函数,用于将大写字母转换为小写字母。如果字符已经是小写或不是字母,则返回原字符。是 C++ 中的一个函数,用于检查一个字符是否是字母或数字。如果字符是字母或数字,函数返回。字母和数字都属于字母数字字符。
2023-12-13 08:30:00
596
原创 C++——多态
在C++中,多态性的实现主要依赖于继承和虚函数。基类中的虚函数可以在派生类中被重写,从而实现了运行时的多态性。这种机制被称为动态绑定。同一接口可以有不同的实现方式,多态允许基类的指针指向子类的方法。在虚函数的后面加上=0,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数,派生类才能实例化出对象,纯虚函数规范了派生类必须重写,另外纯虚函数更体现出了接口继承。
2023-12-10 22:29:33
2514
1
原创 Leetcode刷题详解——字符串相加
这个算法的思路是通过逐位相加的方式,将两个字符串表示的整数相加。在每次循环中,从字符串的末尾开始,依次取出每一位数字,并将其与进位值相加,得到当前位的结果。然后将结果除以10取余数,得到当前位的数字,并将其添加到结果字符串中。最后,将结果字符串反转,得到最终的相加结果。你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。
2023-12-10 08:15:00
633
原创 Leetcode刷题详解——环绕字符串中唯一的子字符串
表里面的和,因为会又重复的结果。位置的元素为结尾的所有子串里面,有多少个在。无限环绕的字符串,所以。是否加上需要先做一下判断。将表里面的值都初始化为1。
2023-12-09 08:00:00
485
原创 C++类和对象学不明白?一篇万字文章带你彻底搞懂它
/类体:由成员函数和成员变量组成//一定要注意后面的分号类是面向对象编程中的一个重要概念,它是一种抽象的数据类型,用于描述具有相同属性和行为的对象的集合。类由属性和方法组成,属性表示对象的特征,而方法表示对象的行为。class为定义类的关键字,className为类的名字,{}中为类的主体,注意类定义结束后面分号不能省略类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数声明和定义全部放在类体中(需注意:成员函数如果在类中定义,编译器可能将其当成内联函数处理)
2023-12-08 07:00:00
1698
1
原创 Leetcode刷题详解——最长湍流子数组
如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是。由于用到前面的状态,因此我们循环的时候从第二个位置开始即可。表里面的最大值,我们可以在填表的时候,顺序更新一些最大值。所有的元素单独都能构成一个湍流数组,因此可以将。位置元素为结尾的所有子数组中,最后呈现。位置元素为结尾的所有子数组中,最后呈现。满足仅满足下列条件时,我们称其为。下的最长湍流数组的长度。下的最长湍流数组的长度。从左往右,两个表一起填。表内所有元素初始化为。
2023-12-07 08:00:00
466
原创 Leetcode刷题详解——单词拆分
在状态转移中,我们需要判断后面部分的子串是否在字典之中,因此会频繁的用到查询操作,为了节省效率我们可以提前把字典中的单词存入到哈希表中。**注意:**不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。,为了确定当前的字符串能否由字典里面的单词构成,根据最后一个单词的起始位置。请你判断是否可以利用字典中出现的单词拼接出。中找到答案,后面部分的字串可以在字典里面找到。区间内的字符串,能否被字典中的单词拼接而成。因此,我们可以得出一个结论:当我们在从。在本题中,最前面加上一个格子,并且让。
2023-12-06 08:00:00
510
原创 Leetcode刷题详解——等差数列划分
由于需要用到前两个位置的元素,但是前两个位置的元素又无法构成等差数列,因此。,并且任意两个相邻元素之差相同,则称该数列为等差数列。因为我们要的是所有等差数列的个数,因此需要返回整个。位置的元素为结尾的等差数列有多少种。是数组中的一个连续序列。
2023-12-05 07:15:00
507
原创 Leetcode刷题详解——乘积为正数的最长子数组长度
一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。根据状态转移方程,填表顺序为从左往右,两个表一块填。,请你求出乘积为正数的最长子数组的长度。在本题中,最起码加上一个格子,并且让。请你返回乘积为正数的最长子数组长度。结尾的所有子数组中,乘积为。结尾的所有子数组中,乘积为。根据状态表示,我们要返回。
2023-12-04 06:30:00
472
原创 Leetcode刷题详解——乘积最大子数组
请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。可以在最前面加上一个辅助结点,帮助我们完成初始化。根据状态转移方程得到,填表顺序是从左往右,两个表一块填。在本题中,最前面加上一个格子,并且让。结尾的所有子数组的最大乘积。结尾的所有子数组的最小乘积。测试用例的答案是一个。是数组的连续子序列。
2023-12-03 07:45:00
514
原创 leetcode刷题详解—— 环形子数组的最大和
可以在最前面加上一个辅助结点,帮助我们完成初始化。意味着数组的末端将会与开头相连呈环状。根据状态转移方程,填表顺序为从左往右。为结尾的所有子数组中的最大和。做结尾的所有子数组中和的最和。最多只能包含固定缓冲区。
2023-12-02 07:30:00
864
原创 Leetcode刷题详解——最大子数组和
请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。可以在最前面加上一个辅助结点,帮助我们初始化。**进阶:**如果你已经实现复杂度为。位置元素为结尾的所有子数组中和的最大和。的解法,尝试使用更为精妙的。是数组中的一个连续部分。
2023-12-01 10:12:33
459
原创 C++学不会?一篇文章带你快速入门
namespace是命名空间的关键字,后面是命名空间的名字,然后后面一对{}{}中即为命名空间的成员//正常的命名空间介绍//命名空间可以嵌套//同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中int a = 10;int b = 20;注意事项:一个命名空间就定义了一个新的作用域,命名空间中所有的内容都局限于该命名空间中int main()int a = 1;return 0;int a = 10;
2023-11-30 22:23:49
992
原创 leetcode刷题详解—— 买卖股票的最佳时机 IV
*注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。设计一个算法来计算你所能获取的最大利润。天结束之后,我们就有股票了。,但是我们也不找到交易了几次,因此返回。上面两种情况我们需要的是最大值,因此。也就是说,你最多可以买。天的时候,啥也不干,此时的收益为。天的时候,手里没有股票,并且交易了。时的状态,因此我们初始化第一行即可。天的时候,手里有股票,并且交易了。,我们有下面两种情况能在第。是某支给定的股票在第。,我们也有两种情况能在第。天的时候,买了股票。返回值处于卖出状态的。
2023-11-27 23:44:24
885
原创 leetcode刷题详解——买卖股票的最佳时机 III
两个状态,因此我们可以选择用两个数组,但是这道题里面还有交换次数的限制,因此我们还需要加上一堆,用来表示。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。的时候,一些不存在的状态起不到干扰的作用,我们统统将它们初始化为。天的时候,只能处于买入过一次的状态,此时的收益为。的最大值,但是我们也不知道交易了几次,因此返回。时的状态,因此我们初始化第一行即可。给定一个数组,它的第。状态,此时的最大利润。状态,此时的最大利润。次,处于买入状态,第。次,处于卖出状态,第。
2023-11-26 08:30:00
423
原创 leetcode刷题详解——买卖股票的最佳时机含手续费
你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。**注意:**这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。,此时处于没有股票状态,啥也不干即可获得最大收益,因此。由于需要用到前面的状态,因此需要初始化第一个位置。的时候,就不用再考虑手续费的问题。的时候,支付这个手续费,那么在。代表了交易股票的手续费用。,此时处于买入状态,因此。从左往右,两个表需要一起填。状态,此时的最大利润。状态,此时的最大利润。
2023-11-25 18:32:33
414
原创 leetcode刷题详解——买卖股票的最佳时机含冷冻期
*注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。状态的时候,我们现在有股票,此时不能买股票,只能继续持有股票,或者卖出股票。: 手里没有股票,买一下卖一下就处于冷冻期,此时收益为0,因此。天的时候,手上没有股票,也不在冷冻期,但是依旧什么也不干到第。天的时候,已经处于冷冻期,然后什么也不干到第。根据状态表示:我们要三个表一起填,每一个表。应该返回卖出状态下的最大值,因此应该返回。状态,必须把第一天的股票买了,因此。天持有股票,此时最大收益应该和。天,此时的对应的状态为。
2023-11-23 13:30:00
84
原创 leetcode刷题详解——粉刷房子
当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。根据状态表示,应该返回最后一个位置粉刷上三种颜色情况下的最小值,因此需要返回。位置的时候,最后一个位置粉刷上红色,此时的最小花费。位置的时候,最后一个位置粉刷上蓝色,此时的最小花费。位置的时候,最后一个位置粉刷上绿色,此时的最小花费。表示第 1 号房子粉刷成绿色的花费,以此类推。个位置粉刷上红色,那么。
2023-11-22 07:15:00
211
原创 Leetcode刷题详解——打家劫舍 II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,给定一个代表每个房屋存放金额的非负整数数组,计算你。,此时不能偷最后一个房子,因此就是偷。,此时可以偷最后一个房子,因此就是偷。两种情况的最大值,就是最终的结果。,今晚能够偷窃到的最高金额。不偷第一个房屋时的最大金额。偷第一个房屋时的最大金额。
2023-11-20 18:25:32
164
原创 Leetcode——最长递增子序列
是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。,找到其中最长严格递增子序列的长度。函数体->状态转移方程。递归含义->状态表示。
2023-11-18 15:00:00
219
原创 Leetcode刷题详解——不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。函数体:只要知道到达上面位置的方法数以及到达左边位置的方法数,然后累加起来即可。网格的左上角 (起始点在下图中标记为 “Start” )。递归出口:当下标越界的时候返回0;当前位于起点的时候,返回1。一个使命,给他一个下标,返回从。问总共有多少条不同的路径?位置一共有多少种方法。
2023-11-18 07:45:00
184
原创 Leetcode刷题详解——斐波那契数
开始,后面的每一项数字都是前面两项数字的和。函数体:斐波那契的递推公式。表示)形成的序列称为。函数体->状态转移方程。一个使命,给他一个数。递归含义->状态表示。
2023-11-17 13:15:00
126
原创 Leetcode刷题详解——衣橱整理
同时设置一个全局变量,每次走到一个合法的位置,就将全局变量加1,当我们把所有走到的路都走完之后,全局变量里存的就是最终答案。这个算法的目的是通过深度优先搜索遍历矩阵中的每个位置,并根据特定条件进行判断和处理。:这是一个辅助函数,用于检查给定位置是否满足特定条件。它接收两个参数:当前位置的行坐标。:这是一个递归函数,用于执行深度优先搜索。它的作用是调用深度优先搜索算法来解决问题,并返回结果。:这是算法的主函数,接收三个参数:矩阵的行数。代表一个需要整理的格子。整理规则为:在整理过程中,可以选择。
2023-11-17 06:30:00
286
原创 Leetcode刷题详解——扫雷游戏
题目,首先要搞懂题目的要求,也就是游戏规则,从题目所给的点击位置开始,根据游戏规则,来一次。让我们一起来玩扫雷游戏!)中的下一个点击位置(
2023-11-16 21:30:00
142
原创 Leetcode刷题详解——岛屿数量
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。
2023-11-16 08:00:00
356
原创 Leetcode刷题详解—— 图像渲染
可以利用深度优先遍历或者宽度优先遍历,遍历到与该点相连的所有像素相同的点,然后将其修改成指定的像素即可。像素值与初始坐标相同的相连像素点,……将所有有记录的像素点的颜色值改为。像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应。,从初始像素开始,记录初始坐标的。的二维整数数组表示的图画。表示该图画的像素值大小。开始对图像进行 上色。经过上色渲染后的图像。
2023-11-15 07:15:00
156
原创 Leetcode刷题详解——太平洋大西洋水流问题
当前单元格的高度,雨水可以直接向北、南、东、西流向相邻单元格。水可以从海洋附近的任何单元格流入海洋。,这样就能找出哪些点可以流向太平洋。那么,被标记两次的点,就是我们要找的结果。如果直接去判断某一个位置是否既能到大西洋也能到太平洋,会重复遍历很多路径。,这样就能找到哪些点可以流向大西洋;同理,从太平洋沿岸也反向。这个岛被分割成一个由若干方形单元格组成的网格。岛上雨水较多,如果相邻单元格的高度。处于大陆的左边界和上边界,而。我们反着来,从大西洋沿岸开始反向。处于大陆的右边界和下边界。
2023-11-14 21:30:00
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人