自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode刷题知识总结

1.判断整数大于int类型最大最小值C++中int类型最大值和最小值的表示形式:最大值:(1<<31)-1,也可以是INT_MAX最小值:(1<<31),还可以是INT_MIN注意,我们使用long long和int类型最大值最小值比较时应写成如下格式 long long res=0; if(res>=(((long long)1<<31)-1)||res<=1<<31)...

2020-10-14 14:01:38 408 4

原创 KMP算法求解next数组值(模式串从下标0开始或从下标1开始)以及求值后与主串的匹配过程

写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录: 1.模式串从下标1开始的next数组求.

2020-08-02 14:22:45 5115 1

原创 详解JVM常量池、Class常量池、运行时常量池、字符串常量池(心血总结)

写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录: 1.常量池与Class常量池 2.运.

2020-07-06 22:41:57 50325 93

原创 详解JVM内存结构(基于JDK8)

写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。 1.JVM内存总览及概述 2. 3.&n.

2020-07-04 21:28:47 4565

原创 2020年最全最简单KMP算法讲解

1.KMP算法的来源 2.最大公共前后缀 3.KMP算法原理 4.next数组 5.next数组值的确定 6.KMP算法的缺陷 7.KMP算法的改进 8.一道KMP算法题 1.KMP算法的来源其实博主刚看KMP算法的时候的反应是这样的:我们引用一个问题给定一个主串S及一个模式串P,判断模式串是否为主串的子串;若是,返回匹配的第一个元素的位置(序号从1开始),否则返回0;如S=“abcd”,P=“bcd”,则返回2;S=“abcd”,P=“acb”,返回0这道题我们最先想到的算.

2020-06-09 13:25:01 11568 28

原创 go环境搭建

1.新版本的go不需要进行环境变量的配置2.运行前先保存,运行使用go run xxx.go3.go源码可以保存在电脑任意一个位置创建的文件夹,但是每个新文件夹写go代码时都要执行go mod init +文件名

2021-06-05 09:56:51 409

原创 2021-01-05

哈哈哈哈哈一、填空题1.Oracle数据库系统的物理存储结构主要有三类文件组成,分别:数据文件和日志文件和控制文件。逻辑存储结构包括oracle 数据块、区、段 和 表空间。2.SQL*Plus中直接调用过程的关键字是exec;查询中去掉重复的行,必须使用的关键字是distinct;关键字describe可以用来显示表的结构信息。3.使用EXPORT命令时,可以有3种不同方式导出数据,表方式就是导出一个指定的基本表,包括表的定义和数据及表上的索引、约束等。用户方式是导出

2021-01-05 11:19:39 993 2

原创 机器的速度与主频之间的关系

主频是指机器的频率,它直接影响带机器的运行速度,运行速度是机器每秒能执行的指令数还有一点需要注意,如果两台机器的机器周期所包含的时钟周期数,指令周期所包含的机器周期数相同,但是如果一个采用流水线方式一个不采用流水线方式,两个机器的运行速度也会出现较大差距。...

2020-12-04 10:32:26 4618 1

原创 Linux进程控制

2020-11-27 17:43:41 193

原创 Linux高级篇——IO系统编程

目录 1.文件IO        open()        write()        read()        lseek() 2.标准IO 3. 4. 5. 6. 7. 8. 9.   &nbsp

2020-11-24 21:48:02 2426 1

原创 LInux命令行参数

原创: Linux 微知识在大学里面,老师一般会这样教,定义main 函数应该是这样的:甚至是这样的:但是其实在 Linux 下,一个正确的main 函数应该被定义为如下:大家可以看到,main 函数中有两个参数,分别是 argc 和 argv。但是在 C 语言中规定,main 函数是不能被别的函数调用的,那究竟是谁传递了参数给main 函数呢?答案是:命令行当我们在命令执行程序时,其实就是在给main 函数传递参数,其中 argc 的全称是 argument c...

2020-11-22 15:49:28 801 1

原创 什么是操作系统?

文章目录一、操作系统的在计算机中扮演的角色二、操作系统的层次一、操作系统的在计算机中扮演的角色计算机如果要在屏幕上输出hello的话,CPU发送指令给内存,把内存中的数据写入显存,进而在计算机中显示器中显示hello,如果这么使用计算机的话,那么未免也太过麻烦,我们现实生活中,直接使用printf就可以输出hello,这是如何做到的呢?我们在实际操作中,并不是直接操作计算机硬件,而是通过操作系统来使用硬件,这样不仅使操作更简单,而且操作也更加的高效。计算机只有硬件的话称为裸机,操作系统相当于给

2020-11-22 09:19:55 1003

原创 详解结构体与链表

目录: 1.定义使用结构体变量 2.使用结构体数组 3.结构体指针 4.结构体内存对齐(重点)                                       1.定义和使

2020-11-12 20:06:46 15472 12

原创 汉明码的理解

1.奇偶校验我们约定一串编码里1的个数是偶数个,那么这串编码里携带的信息就是对的,否则就是错的。我们可以在开头对这串编码加一位校验码实现奇偶校验。例子:我们想传输10010这串码,那么在传输的时候,就传010010,其中在开头的0就是校验位。我们想传输10000这串码,那么在传输的时候,就传110000,其中在开头的1就是校验位。两个例子的1的个数都是偶数。2.汉明码首先汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。并且能对错误

2020-11-11 12:57:36 1187

原创 按字寻址与按字节寻址

问:一个16K×32位的存储器,其地址线和数据线的总和是多少?选用如下规格的存储器芯片时,需要多少片? A.1K×4位芯片     B.4K×8位芯片 解答: 内存的容量有多少,就是用多少个二进制数表示,地址线的条数就是多少根。          16K是其容量大小,16K=2^14,故地址线14根; 数据线指一...

2020-11-09 17:35:59 4692

原创 洛谷P2401 不等数列(线性DP)

本题使用的是线性DP。就是DP数组难以思考,这里我直接给出dp[i][j]:表示 1 ~ i 这 i 个数 , 其中j 个 " < " 有几种方法假设我们已经把 n - 1 个数排好了,现在我们要在其中插入第 n 个数,n 大于这个数列中的任何数 若 n 插在第一个数之前,因为它比第一个数大,则多一个 " > " 若 n 插在最后一个数之后,同上,多了一个 " < " 若 n 插在 " < " 之前,因为它比 " < " 之后的数大,所以 " <.

2020-11-08 19:03:46 138

原创 MOS管基本概念

1. 三个极的判定 G极(gate)—栅极,不用说比较好认 S极(source)—源极,不论是P沟道还是N沟道,两根线相交的就是 D极(drain)—漏极,不论是P沟道还是N沟道,是单独引线的那边 2. N沟道与P沟道判别 箭头指向G极的是N沟道 箭头背向G极的是P沟道 3. 寄生二极管方向判定 不论N沟道还是P沟道MOS管,中间衬底箭头方向和寄生二极管的箭头方向总是一致的: 要么都由S指向D,要么...

2020-11-07 19:51:26 2741

原创 触发器

前言: 我们已经实现了加减法,如果计算机要计算1+2+3,必须得先计算1+2,然后再把1+2得结果存起来,在去计算3+3. 那么如何保存这个临时数据呢?   1.触发器: 触发器(Flip Flop)是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的RS触发器。 触发器的电路图由逻辑门组合而成,其结构均由R-S锁存器派生而来(广义的触发器包括锁存器)。触发器...

2020-11-07 08:48:50 18472 9

原创 二叉树解题套路

1.二叉树前序遍历1.1递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), righ

2020-11-06 10:28:13 182

原创 冒泡排序——查找最小的k个元素

#include<iostream>using namespace std;int main(){ int n,k; cin>>n>>k; int arr[n]={0}; for(int i=0;i<n;i++){ cin>>arr[i]; } for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(arr[j]>arr[j+1]){ int t.

2020-11-03 18:02:36 411 1

原创 滑动窗口解题技巧

本题我们维护一个双端队列,class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> res; deque<int> deq; int len = nums.size(); for(int i = 0; i < len; i++){ .

2020-11-02 10:59:20 260

原创 计组第三章系统总线自我总结

1.MHz与MBps这里的M所代表的意思不同,第一个MHz的M代表106,第二个MBps中的M代表2202.控制信号控制总线的作用是用来传递控制信号、响应信号、时序信号时序信号:一个用来确定时段执行哪些微操作的标志。就好比我们每天按时吃饭按时上学的时间的规定。...

2020-11-01 15:54:41 289

原创 三态门与高阻状态

      三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态——高阻状态的门电路。高阻态相当于隔断状态(电阻很大,相当于开路)。 三态门都有一个EN控制使能端,来控制门电路的通断。 可以具备这三种状态的器件就叫做三态(门,总线,......).          计算机里面用 1和0表示是,非两种逻辑,但是,有时.

2020-11-01 12:02:59 4909 1

原创 奇偶校验位

什么是奇偶校验        对数据传输正确性的一种校验方法。在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还...

2020-11-01 08:48:58 12340 1

原创 总线控制(总线判优控制、总线通信控制)

文章目录 基本概念总线判优控制链式查询计数器查询独立请求方式 总线通信控制同步通信异步通信不互锁方式半互锁方式全互锁方式波特率 半同步通信(同/异步结合)分离式通信 系列文章 基本概念 定义 总线上有多个部件,所以需要总线控制器统一管理 何时何部件发送...

2020-10-31 21:17:19 4690 1

原创 三种集中式总线判优控制

1.分布式每一个设备都有自己的仲裁器,都有自己的AN(授权号),授权号是占用总线优先级的高低,当多个设备发出总线占用请求时,每个设备的授权号都会和总线授权线上的值进行比较,优先级没总线授权线高,就不会申请到,比总线授权线高就会替换总线授权线上的值2.集中式2.1链式查询链式查询三个缺点:BG只能一个一个检查,速度比较慢离总线越近优先级越高,而且离总线近的IO设备频繁使用总线就会导致离总线远的IO设备得不到总线的使用权因为是串联,所以当一个IO接口失效,那么后边所有的IO接口均失效,则永.

2020-10-31 20:38:25 10233

原创 详解位运算解题套路

1.异或(^)与与(&)左移(<<)做加法运算无进位和 与 异或运算 规律相同,进位 和 与运算 规律相同那么每异或一次,相当于求一次两数无进位和,每做一次与运算加左移,相当于求出所有进位的和,再与第一次异或的结果再次异或,如此循环,当没有进位时即进位和为0时,代表求出最终结果C++代码class Solution {public: int add(int a, int b) { while(b!=0) {

2020-10-30 23:02:13 247

原创 为啥地址线是20根则存储单元个数为2的20

因为计算机是采用二进制计算的。 假设一台计算机,它只有1根地址线,请问它最多能对几个存储单元寻址?答案是:2个.因为在任何2进制计算机中,所有物理元件只有 0,1两种状态,对应这个例子,我们假设已经把这唯一的一根地址线与两个存储单元a和b连上了,那么究竟怎么确定何时读a何时读b?有一个办法,当地址线上的电压是高电压时我们读a,相反是低电压时,我们读b.如此一来,一根地址线的情况下,只能对2个存储单元进行寻址 依次类推,2根地址线时可以对4个存储单元进行寻址,对应的电压情况可以是:低低,低高,高低,高高;继续

2020-10-28 20:32:59 1858

原创 万字长文搞定C语言指针

目录: 1.指针是什么? 2. 3. 4. 5. 6. 7. 8. 9.前言:指针是C语言最重要的一块知识,也是我们必须要掌握的内容,对于初学,可能很难,但是迎难而上才是我们学习必须有的态度。由于博主水平有限,如果博客中出现错误,还忘指正,博主会在第一时间修改1.指针是什么?在我们学习C语言的过程中难免会定义变量,如:int n=1;对程序进行编译的时候会根据n的数据类型为n分配内存,我们通过前面的学习知道,int类型的数据在内存中占据4个字节,内存区的每一个字节都有一个编

2020-10-24 21:33:59 1540

原创 关于(++i)+(++i)+(++i)与(++i)+(i++)与(i++)+(++i)

1.问题描述#include<stdio.h>int main(){ int i=1; int a=(++i)+(++i)+(++i); printf("%d",a);}此时a是几呢?2.问题解析我们按照我们的正常的逻辑,这题应该是2+3+4=9但是我们使用编译器运算结果是10为啥是10呢,其实我们要用到我们计算机的运算规则(计算机组成原理里边的东西),首先计算机是把两个已知的数存放到寄存器里边进行相加,第一个++i是,i变成2(第一个已知数),然后再

2020-10-22 19:57:48 872

原创 关于printf()与自增自减运算符结和问题

1.问题描述:#include<stdio.h>int main(){ int i=3; printf("%d %d %d %d %d",i++,++i,++i,i++,--i);}2.问题的解决方案2.1DEVC++运行结果在DEVC++中printf()结和自增自减运算符时遵循:1.从后往前运算2.前置++或- -打印的是最终结果,后置++和- -打印的是参数当前值1.我们看程序,最后一个参数是- -i,此时i变成了2,是前置运算打印最后i的值,先不管,往前

2020-10-22 14:08:10 859

原创 动态规划各类问题分析——LeetCode习题精讲

目录 1.动态规划问题分类 2.线性DP        一维数组        二维坐标系        01背包        完全背包        多重背包  

2020-10-20 15:43:58 587

原创 美团面试动态规划——整数拆分

dp[i]代表i这个数拆分后所能得到的最大乘积class Solution {public: int integerBreak(int n) { vector<int> dp(n+1,0); dp[1]=1; for(int i=2;i<=n;i++) for(int j=1;j<i;j++) dp[i]=max(dp[i],max(dp[j],j)*(i-j)); ..

2020-10-20 11:23:47 128

原创 KMP算法中的模式串移动数组

#include<iostream>#include<string>using namespace std;int main(){ string s; cin>>s; int size=s.size(); int next[size]={0}; int j=0; for(int i=1;i<size;i++) { while(j>0&&s[j]!=s[i]) j=next[j-1]; .

2020-10-16 21:02:33 153

原创 KMP字符串模式匹配算法实现

#include<iostream>#include<string>using namespace std;int main(){ int n=3; while(n--) { string str; string s; cin>>str; cin>>s; int size1=str.size(); int size2=s.size(); int next[size2]={0}; int j=0; for.

2020-10-16 20:49:40 113

原创 计算机乘除法运算中部分积和余数的符号位选择与位移的关系

1.原码一位乘原码一位乘部分积采取一位符号位,逻辑左移我们其实可以采取双符号位,最高位代表正在符号位,但是我们可以看到,如果采取双符号位的话,由于是绝对值参与的运算,最高符号位一定是0,所以就没有必要,如果我们硬要采取双符号位也未尝不可,只是我们选择算术右移。最高位代表真正符号位,次高位参与移位。我们还要了解到有多位符号位时,最高位代表正真符号位,不参与算术移位,其余符号位参与算术移位2.原码两位乘原码两位乘部分积采用三位符号位,算术移位博主其实不是很理解为啥非要采用三位符号,两

2020-10-15 21:28:22 2100

原创 计组第六章——计算机的运算方法重点总结

1.原码、反码、补码、移码1.1机器字长1.计算机的数存放在寄存器中,通常称寄存器的位数为机器字长1.2零的表示形式原码中0有两种表示形式:[+0]:0000 0000[-0]:1000 0000反码中0有两种表现形式:[+0]:0000 0000[-0]:1000 0000补码中0有一种表现形式:[+0]=[-0]:0000 0000移码中0有一种表现形式:[+0]=[-0]:1000 00001.3位数-1.0与-128有补码(八位)一个负数的补码=模

2020-10-15 21:18:11 1429

原创 C语言各种变量的初始化

数值类变量初始化 整型、浮点型的变量可以在定义的同时进行初始化,一般都初始化为0。 int inum = 0; float fnum = 0.00f; double dnum = 0.00;123 字符型变量初始化 字符型变量也可在定义的同时进...

2020-10-15 14:01:05 1487

原创 C语言变量初始化是必须的吗?不初始化会怎样?

这个问题很重要!实际上前面讲那么多,其中有一个很重要的目的就是为了讲这个知识点。所谓初始化就是“第一次赋值”的意思。我们先来看一个程序:   #include <stdio.h>int main(void){int i;printf("i = %d\n", i);return 0;}这里i没有被赋值,只是定义了一个存储空间。这时输出这个空间的内容,你觉得输出的值会是多少?是一个任意值吗?...

2020-10-15 13:58:15 4968 2

原创 解析BF(普通串模式匹配算法)算法

写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录: 1.BF算法原理 2.BF算法代码实.

2020-10-14 14:11:15 5100 1

空空如也

空空如也

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

TA关注的人

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