- 博客(35)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【考研01】二叉树层次遍历
1. 二叉树层次遍历int level(BTNode *p){ int front,rear; BTNode *que[maxSize]; //定义一个循环队列 front = rear = -1; BTNode *q; if(p != NULL) { rear = (rear + 1) % maxSize; que[rear] = p; //根节点入队 while...
2019-11-20 17:30:22
227
原创 git指令
第一次提交:git add . git commit -m "要有卡片信息!" git push origin HEAD:refs/for/lyy-itp-2第(n)次提交:git add . git commit --amend git push origin HEAD:refs/for/lyy-itp-2如果有多次提交:git rebase -i HEAD~2 使用f解决,其实就是将两次提交合并为一次提交。从本地master拉取分支:git checkout master切换到master分
2021-09-20 16:45:17
148
原创 【百度实习码神特训营——持续集成与质量保证】
这里写目录标题1. 什么是持续集成?1. 什么是持续集成?持续集成(Continuous integration-CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。...
2021-07-12 14:43:16
695
1
原创 【leetcode常用数组技巧——元素作为数组索引】
题目序号1. leetcode442 数组中重复的元素2. leetcode448 找到数组中所有消失的数字1. leetcode442 数组中重复的元素解法一:使用负数,利用原始数组来实现。时间复杂度:O(1),空间复杂度O(1)class Solution { public List<Integer> findDuplicates(int[] nums) { List<Integer> res = new ArrayList<>()
2021-07-11 20:59:05
142
原创 【leetcode二叉树——二叉树路径相关】
题目序号1. leetcode112 路径总和1. leetcode112 路径总和解法一:穷举所有路径,判断是否存在路径总和class Solution { public boolean hasPathSum(TreeNode root, int targetSum) { List<List<Integer>> res = new ArrayList<>(); List<Integer> path = new
2021-07-05 12:01:20
125
原创 【leetcode二叉树——二叉树遍历】
题目序号1. leetcode144 二叉树的前序遍历2. leetcode94 二叉树的中序遍历3. leetcode145 二叉树的后序遍历4. leetcode102 二叉树的层序遍历5. leetcode107 二叉树的层序遍历II6. leetcode104 二叉树的最大深度7. leetcode543 二叉树的直径8. leetcode110 平衡二叉树9. leetcode111 二叉树的最小深度1. leetcode144 二叉树的前序遍历2. leetcode94 二叉树的中序遍历3
2021-06-21 21:48:55
453
2
原创 基础篇一:时间空间复杂度分析
一、什么是时间复杂度分析1. 为什么需要时间复杂度分析1.1 什么是算法?算法是使用一段程序解决实际问题的方法。1.2 怎么评估算法的性能? public static long sum(int n) { long res = 0; int i = 0; for (; i <= n; i++) { res += i; } return res; } public .
2021-06-19 10:01:15
331
原创 4.7 牛客网项目——优化登录模块
1. 使用Redis存储验证码验证码需要频繁的访问与刷新,对性能要求较高验证码不需要永久保存,通常在很短的时间后就会失效分布式部署时,存在Session共享的问题1.1 生成Redis的Key在util包下的RedisKeyUtil类下为其生成Key。public class RedisKeyUtil { private static final String PREFIX_KAPTCHA = "kaptcha"; //验证码 //登录验证码 //oener验证码的.
2021-06-14 12:05:39
218
原创 3.1 牛客网项目——过滤敏感词
1. 定义和初始化前缀树根节点没有字符除了根节点每个节点都只有一个字符每个节点所有的子节点的字符都不相同字符串的每个字符作为TrieNode节点,TrieNode节点主要有两部分组成:是否为单词节点所有的子节点,用map来保存,key是字符,value是子节点//前缀树private class TrieNode { //关键词结束的标识 private boolean isKeywordEnd = false; //子节点(key是下级字符,value是下.
2021-06-13 18:19:00
331
原创 2.6 牛客网项目——显示登录信息
1. 流程图用户登录凭证表login_ticket字段类型备注idint主键、自增user_idint登录用户idticketvarchar登录凭证,随机字符串statusint登录状态:0-有效、1-无效expiredtimestamp过期时间用户表user字段类型备注idint主键、自增usernamevarchar用户名,创建索引passwordvarchar用户密码s.
2021-06-13 16:36:02
338
原创 【Java基础学习】Java中break和continue之间的区别
break和continue都是**“跳转”语句**,它们将程序的控制权转移到程序的另一部分。break和continue之间的主要区别是break用于立即终止循环。另一方面,continue终止当前迭代并将控制恢复到循环的下一个迭代。break语句主要用作exit语句,这有助于从当前块或循环中跳出。相反,continue语句有助于从当前循环迭代跳至下一个循环。Java支持三个跳转语句:break,continue和return。文章目录1. 比较表2. break的定义3. continue的定义.
2020-10-11 09:28:09
3933
原创 【Java基础学习】Java中Iterator和ListIterator之间的区别
Iterator和ListIterator是Java的三个游标中的两个。Iterator和ListIterator都是由Java.Util包中的Collection Framework定义的。ListIterator是Iterator接口的子接口。Iterator和ListIterator之间的主要区别在于,Iterator只能向前遍历集合中的元素,而ListIterator可以向前以及向后遍历集合中的元素。让我们来借助下面显示的比较表来讨论Iterator和ListIterator之间更多的区别。.
2020-10-10 10:57:30
317
原创 【数据库系统概论(第5版)】第2章 关系数据库
文章目录2.1 关系数据结构及形式化定义2.1.1 关系2.1 关系数据结构及形式化定义2.1.1 关系域:域是一组具有相同数据类型的值的集合。笛卡尔积:笛卡尔积是域上的一种集合运算。关系:关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。其中,基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。基本关系具有以下6条性质:(1) 列是同质的,即每一列中的分量是同一类型的数据,来
2020-07-08 16:36:31
235
原创 【考研05】图的遍历
1. 深度优先遍历int visit[maxSize];/*v是起点编号,visit[]是一个全局数组,作为顶点的访问标记,初始时所有元素均为0表示所有顶点都未被访问*/void DFS(AGraph *G,int v){ ArcNode *p; //边结点 visit[v]=1; //置已访问标记 Visit(v); p = G->adjlist[v].firstarc...
2019-12-10 18:58:57
131
原创 【C语言】PAT
1. 实验2-2-9 计算火车运行时间 (15 分)题目:本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式: 输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式: 在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位...
2019-11-30 17:11:47
603
原创 【考研04】排序算法
1. 起泡排序void BubbleSort(int R[],int n){ int i,j,flag; int temp; for(i=n-1;i>=1;--i) { flag = 0; for(j=1;j<=i;++j) { if(R[j-1]>R[j]) { temp = R[j]; R[j]=R[j-1]; R[...
2019-11-26 18:29:44
556
原创 【c语言pat】
1. 实验7-1-11 求整数序列中出现次数最多的数(15 分)本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例: 10 3 2 -1 5 3 4 3 0 3 2输...
2019-11-26 15:56:32
738
原创 【考研03】二叉树递归遍历
1. 先序遍历void preOrder(BTNode *p){ if(p != NULL) { Visit(p); preOrder(p->lchild); preOrder(p->rchild); }}2. 中序遍历void inOrder(BTNode *p){ if(p != NULL) { inOrder(p->lchild);...
2019-11-22 17:52:17
146
原创 【考研02】二叉树非递归遍历
1.二叉树后序非递归遍历typedef struct{ BTNode *t; int tag;}Stack;void PostOrder(BTNode *bt){ Stack s[]; int top = -1; while(bt != NULL && top != -1) { while(bt != NULL) { ++top; s[to...
2019-11-20 18:55:23
267
原创 【算法题day3】二叉树
1. 统计二叉树中度为1的结点个数int SingleNodes(BiTree bt){ if (bt != NULL) { if ((bt->lChild !=NULL && bt->rChild == NULL) || (bt->rChild !=NULL && bt->lChild == NULL)) retu...
2019-10-13 17:47:43
168
原创 【算法题day2】二叉树
typedef struct BTNode{ char data; struct BTNode *lchild; struct BTNode *rchild;}BTNode;1. 二叉树先序遍历(递归以及非递归)void preOrder(BTNode *p){// 根--左--右 if(p != NULL) { Visit(p); //假设访问函数Visit()已经定义...
2019-10-08 16:47:04
112
原创 【算法题day1】二叉排序树
typedef struct BiTNode{//二叉树链式存储结构 ElemType data; //数据域 struct BiTNode *lchild,*rchild; //左、右孩子指针}BiTNode,*BiTree;1. 判断给定的二叉树是否是二叉排序树【中序遍历】int predt = -32767; //predt为全局变量,保存当前结点中序前驱的值int Judg...
2019-10-06 18:34:41
1387
原创 第五章.图基本算法
一.图的存储结构1. 邻接矩阵(顺序存储结构)typedef struct{ int no; //顶点编号 char info; //顶点其他信息}VertexType; //顶点类型typedef struct{ int edges[maxSize][maxSize]; //邻接矩阵定义 int n,e; //分别为顶点数和边数 VertexType vex[maxSize...
2019-09-18 22:20:56
150
原创 王道第四章【树与二叉树】
1.void postOrderNonRecursion(BTNode *bt){ //定义两个栈 BTNode *Stack1[maxSize]; int top1 = -1; BTNode *Stack2[maxSize]; int top2 = -2; BTNode *p = NULL; Stack1[++top1] = bt; //先移动指针,后入栈根节点 while...
2019-09-17 22:47:06
145
原创 第四章.树与二叉树基本算法
一.二叉树的存储结构1. 顺序存储结构,最适合于完全二叉树,用于存储一般二叉树会浪费大量存储空间2.链式存储结构typedef struct BTNode{ char data; struct BTNode *lchild; struct BTNode *rchild;}BTNode;二.二叉树的遍历算法1.先序遍历(递归以及非递归)void preOrder(BTNode...
2019-09-08 18:11:41
293
原创 天勤、王道第三章【栈和队列】
1.int judge(char ch[]){ //判断字符数组ch[]中的序列是否是合法序列,如果是,返回1,否则返回0 int i = 0; int I = 0,O = 0; //I和O分别为字符"I"和"O"的个数 while(ch[i] != '\0') { if(ch[i] == 'I') ++I; if(ch[i] == 'O') ++O; if...
2019-09-05 18:24:40
225
原创 第三章.栈和队列基本算法
一.栈和队列的结构体定义1. 顺序栈结构体定义typedef struct{ int data[maxSize]; //存放栈中元素,maxSize是已定义的常量 int top; //栈顶指针}SqStack; //顺序栈类型定义2. 链栈结构体定义typedef struct LNode{ int data; //数据域 struct LNode *next; //指针...
2019-09-04 18:05:40
283
原创 王道第二章【线性表】
1.bool findMin(Sqlist *&L,int &value){ //删除顺序表L中最小值元素结点,并通过引用型草书value返回其值 //若删除成功,则返回true,否则返回false if(L.length == 0) return 0; int i; value = L.data[0]; int minPosition = 0; for(...
2019-09-02 18:10:03
177
原创 王道第二章【链表】
1.void Delete(LNode *&L,int x){ LNode *p; //p指向待删除结点 if(L == NULL) //递归出口 return; if(L->data == x) //若L所指结点的值为x { p = L; L = L->next; free(p); Delete(L,x); //递归调用 } else ...
2019-08-28 00:52:22
377
原创 第二章.线性表基本算法
一.线性表的结构体定义1. 顺序表的结构体定义#define maxSize 100typedef struct{ int data[maxSize]; //存放顺序表元素的数组 int length; //存放顺序表的长度}Sqlist; //顺序表类型的定义2. 单链表结点定义typedef struct LNode{ int data; //data中存放结点数据域...
2019-08-25 01:05:24
288
原创 第二章.线性表(天勤算法题)
1.void insertElem(int A[],int m,int n){ int i,j; int temp; for(i=m;i<m+n;i++) { temp = A[i]; for(j=i-1;j>=0 && temp<A[j];--j) A[j+1]=A[j]; A[j+1]=temp; }}
2019-08-24 00:44:23
706
原创 c# winform propertygrid中的所有属性直接展开不折叠
如果要扩展网格中的所有项目,这非常简单。属性王个有一个方法:properthGrid.ExpandAllGridItems();如果要扩展特定的组,则可以使用此方法:private static void ExpandGroup(PropertyGrid propertyGrid, string groupName){ GridItem root = propertyGrid.S...
2018-09-27 20:38:28
2629
原创 c# 在PropertyGrid上显示类的属性
当我们使用PropertyGrid控件时,平时用的都是常见的类型如:int ,string,bool通过如下代码可以将这个类的属性显示在Propertygrid public partial class Form1 : Form { public Form1() { InitializeComponent(); Student s...
2018-09-21 22:50:47
3097
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人