自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李小健

passion and action

  • 博客(60)
  • 收藏
  • 关注

原创 十大排序算法简记

选择排序( Selection )选择排序是最简单的,也是最没有用的,因为它的时间复杂度是 O( n^2 ) ,而且还不稳定。思路:从左到右扫描过去,找出最小的数的下标,跟这一趟的最开始数的下标index 交互位置,后面重复第一趟过程。冒泡排序( Bubble )顾名思义,类似于冒泡的过程,它的时间复杂度是 O( n^2 ) ,稳定思路:从左到右扫描到 index,比较相邻...

2019-05-03 16:06:43 335 2

原创 杭电入门题

2001、2002要注意浮点运算和变量类型选择2004 注意string类型的初始化malloc char *s; s = (char *)malloc(20); if (score>=90) s ="A";

2021-08-24 23:50:22 166

原创 算法竞赛入门经典笔记

前菜/** * 输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数 * test1 */#define PI 4.0*atan(1.0)void test1() { printf("%d",INT_MAX);//测试 int n; scanf("%d", &n); printf("%lf\n", sin((n * PI) / 180)); printf("%lf\n", cos((n * PI) / 180));}.

2021-08-08 21:35:04 252

原创 数据结构考纲笔记概览

(一)线性表线性表定义相同类型的n个数据元素的有限序列基本操作CRUD顺序表和链表的特点顺序表:查找快,插入和删除效率低链表:与顺序表相反。顺序线性表//静态分配typedef struct List { ElemType data[50]; int length;} SqList;#define InitSize 50//动态分配typedef struct List { ElemType *data; int length;} SqLi

2021-07-31 16:37:26 220

原创 程序设计题集

最大公约数最小公倍数鸡兔同笼

2021-07-17 19:40:56 310

原创 typedef、#define、const和随机生成树

typedef使用关键字 typedef 可以为类型起一个新的别名typedef int INTEGER;INTEGER a, b;typedef 和 #define 的区别typedef 在表现上有时候类似于 #define,但它和宏替换之间存在一个关键性的区别;可以使用其他类型说明符对宏类型名进行扩展,但对 typedef 所定义的类型名却不能这样做#define INTERGE intunsigned INTERGE n; //没问题typedef int INTE.

2021-07-16 18:49:49 182

原创 指针、结构体、枚举类和文件

指针结构体struct Stu{ char *name; //姓名 int num; //学号};struct Stu stu1typedef struct Stu{ char *name; //姓名 int num; //学号}S;S stu1;枚举类enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };enum week{ Mon = 1, Tues = 2, Wed = 3, Thur

2021-07-16 18:30:09 183

原创 C语言基础

源码编译成计算机能执行的文件,具体如下: 两个过程:编译,链接 源文件-》编译器编译-》目标文件-》链接-》可执行文件 三大编译器:Visual C++、GCC 以及 LLVM Clang 数据类型二进制数、八进制数和十六进制数的表示二进制:以0b或0B(不区分大小写)开头;int a = 0b101; //换算成十进制为 5八进制:以0开头;int a = 015; //换算成十进制为 13十六进制:以0x或0X(不区分大小写)开头;int a = 0X2A; //.

2021-07-16 18:07:39 363 1

原创 进制之间的转换

进制相关其他进制 ==> 十进制what代码实现十进制 ==> 其他进制整数部分小数部分代码实现二、八和十六进制之间的转换what代码实现字节相关1个元器件称为1比特(Bit)或1位,8个元器件称为1字节(Byte)1Byte = 8 Bit一个字节最多可表示最大值为2^8 - 1为什么int类型的最大值是2^31-1 ? int类型是8个字节,32位,最大值用二进制表示就是, 0111...(总共31个1) 为什么第一位是0?

2021-07-16 11:40:32 217

原创 阅读理解技巧

题型看懂长难句能解决的题型:细节题、推理题、判断题、句子理解题、主旨大意题;阅读技巧题:例证题、词汇题、态度题(一)细节题1、标志:what/where/when/which/who/how2、解题思路:· 关键:回归原文· 返还原文依据:人事时地等关键词;题干中的重点词或同义词;长难句(一般是出题点)(二)推理题1、标志:infer/imply/learn from/suggest/conclude2、解题思路:未直接提及:同义改写=细节题;细节服从主旨;转折处;长难句;语法现.

2021-07-11 17:11:51 314

原创 B树和B+树

B树B树高度B树插入B树删除

2021-07-08 16:43:52 73

原创 DAG图与拓扑排序

有向无环图描述表达式表达式转换为树根是*,右子树是((a+b)*(b*(c+d)) + (c+d)*e),左子树是((c+d)*e),以此类推。 2. 有向无环图(DAG)描述表达式合并方法拓扑排序存在回路的图没法拓扑排序拓扑排序算法实现LeetCode 210. Course Schedule II//时间复杂度:O(V+E)class Solution {public: vector<int> greedy(vector&l..

2021-07-02 17:06:42 535 1

原创 图的应用:最小生成树与最短路径

最小生成树(最小代价树)性质 1.最小生成树不是唯一 2. 最小生成树的边的权值之和总是唯一 3. 最小生成树的边数为顶点减1 ( n-1 ) Prim算法Kruskal算法 最短路径广度优先搜索(BFS)//伪代码//求顶点u到其他顶点的最短路径void BFS_MinDistance(Graph g, int u) { for (int i = 0; i < g.vexNum; ++i) { d[i] = ∞..

2021-07-01 19:00:16 330

原创 图的广度和深度搜索

来看看理科

2021-06-30 16:10:31 130

原创 图的基本操作

Adjacent(G,x,y):判断图G是否存在边<x,y>或(x,y)Neighbors(G,x):列出图G中与结点x邻接的边InsertVertex(G,x):在图G中插入顶点xDeleteVertex(G,x):在图G中删除顶点xAddEdge(G,x,y):若无向边 (x,y) 或者有向边 <x,y> 不存在,则向图G中添加该边RemoveEdge(G,x,y):若无向边 (x,y) 或者有向边 <x,y> 存在,则向.

2021-06-29 17:33:02 207

原创 图的存储结构

邻接矩阵法邻接表法十字链表(只用于存储有向图)解决了 邻接矩阵法的空间浪费 和 邻接表法的寻找指向自己的结点 困难问题。邻接多重法(存储无向图)

2021-06-29 14:29:49 98

原创 二叉排序树,平衡二叉树和哈夫曼树

二叉排序树二叉排序树查找//递归BiTNode *BST_Search_R(BiTree biTree, ElemType key) { if (biTree == NULL || key == biTree->data) return biTree; if (key < biTree->data) return BST_Search_R(biTree->lChild, key); else return BST_Search_R(biTree-.

2021-06-27 13:15:58 644 1

原创 线索二叉树

线索二叉树结构lChildlTagdatarTagrChildlTag:0左孩子,1前驱rTag:0右孩子,1后继//代码结构typedef struct ThreadNode { ElemType data; ThreadNode *lChild, *rChild; int lTag, rTag;} ThreadNode, *ThreadTree;中序构造线索二叉树按照中序遍历,初始化pre = NULL,pre指向上一个访问的结点.

2021-06-26 11:49:20 208

原创 树 和森林

树的存储结构双亲表示法孩子表示法孩子兄弟表示法树和森林的转换树转换为二叉树森林转换为二叉树二叉树转换为树或森林是唯一的树遍历先根遍历树后根遍历树层次遍历树森林的遍历先序遍历森林效果等同于对各个树进行先根遍历后序遍历森林(或者叫中序遍历)效果等同于对各个树进行后根遍历...

2021-06-26 11:48:51 120

原创 串:KMP算法

如何确定子串在主串的位置?• 暴力匹配算法//暴力查找子串位置int index(string s, string t) { int i = 0, j = 0; while (i < s.length() && j < t.length()) { if (s[i] == t[j]) { i++; j++; } else { i = i - ( j-1 );

2021-06-25 10:08:55 78

原创 git

<<<<<<< HEAD 这里是本地内容======= 这里是下拉的内容>>>>>>> feature

2020-09-28 15:56:41 116

原创 linux查看日志常用命令

tail -n 1000:显示最后1000行tail -n +1000:从1000行开始显示,显示1000行以后的head -n 1000:显示前面1000行tail -f 实时查看最后日志ps -ef | grep XXX 查找进程idkill -9 pid

2020-09-25 09:11:53 252

原创 springcloud入门

分布式与集群的区别是什么?分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。而集群,是指同一种组件的多个实例,形成的逻辑上的整体知乎CAP理论

2020-09-09 10:34:46 93

原创 事务的范围和锁范围

@Transactional(rollbackFor = Exception.class) public synchronized void isertUser4(User user) { // 插入用户信息 userMapper.insertUser(user); }可以看到,因为要考虑并发问题,我在业务层代码的方法上加了个 synchronized 关键字。我举个实际的场景,比如一个数据库中,针对某个用户,只有一条记录,下一个插入动作过来,会先判断该

2020-09-04 14:21:44 815

原创 异常被 ”吃“ 掉导致事务无法回滚

我们在处理异常时,有两种方式,要么抛出去,让上一层来捕获处理;要么把异常 try catch 掉,在异常出现的地方给处理掉。就因为有这中 try…catch,所以导致异常被 ”吃“ 掉,事务无法回滚。我们还是看上面那个例子,只不过简单修改一下代码:@Service public class UserServiceImpl implements UserService { @Override @Transactional(rollbackFor = Exception.class) p

2020-09-04 14:12:26 598

转载 消息队列常见的 5 个应用场景

消息队列常见的 5 个应用场景

2020-08-27 10:59:52 122

转载 java中带参数的try(){}语法含义

带资源的try语句(try-with-resource)的最简形式为:try(Resource res = xxx)//可指定多个资源{ work with res} try块退出时,会自动调用res.close()方法,关闭资源

2020-08-27 09:42:46 541

转载 git开发技巧

切分支前注意要commit,不然会影响其他分支现在我们可以在Dev分支下工作了。切换到Dev分支,然后修改源文件,添加一句“New Dev branch”。添加成功后,sourceTree的文件状态面板中会提示你有新的更改可以提交了。注意,此时如果我们还未提交就切换到其他分支,这种修改也会带到其他分支的。记得合并分支时,选择“都创建一个新的提交”如果不选择,合并后看不到合并信息,也看不到分支图谱,只是一条水平线标签 tagmaster合并完之后,就可以发布新版本了,我们使用tag标..

2020-08-25 17:51:06 155

转载 Hibernate Validator

常用注解@Null 被注释的元素必须为 null@NotNull 被注释的元素必须不为 null@AssertTrue 被注释的元素必须为 true@AssertFalse 被注释的元素必须为 false@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值@DecimalMax(value.

2020-08-24 17:51:13 86

原创 javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘org.

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern=“yyyy-MM-dd HH:mm:ss”)

2020-08-24 17:07:38 205

原创 利用idea的database生成数据表的实体类

2020-08-24 16:08:15 203

原创 窗口点击模拟

窗口点击模拟时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M本题需要让你模拟一下在Windows系统里窗口和鼠标点击的操作,具体如下:1.屏幕分辨率为3840*2160,左上角坐标为(0, 0), 右下角坐标为(3839, 2159)2.窗口是一个矩形的形状,由左上角坐标(X, Y),和宽高(W, H),四个数字来定位。左上角坐标为(X, Y)、右下角坐标为(X+W, Y+H),其中左上角坐标一定会在屏幕范围内,其他一些部分可能会超过屏幕范围。3.窗口的点

2020-06-28 17:08:41 826

原创 数字之和专题

数字之和专题两数之和https://leetcode-cn.com/problems/two-sum///一遍hashmapclass Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) {

2020-05-29 16:52:09 138

原创 学习笔记(01):Java并发编程精讲-线程死锁和避免

课程会讲解Java中并发相关技术的基础、原理和应用,从线程安全、线程(池),锁实现和并发容器等高并发Java实现,去深入理解在并发编程中,一些最容易被忽视的点,这些点也是我在多年编程经验中实际用到,对于每个小节小课均会有实际的场景应用为你呈现。同时这些也是面试过程中面试官考察的重点,掌握这些点,面试和工作时,做到心中有货,不慌不乱,能够胜任。...

2020-02-06 11:53:41 100

原创 springboot开发日志

自定义css不起作用排除技术原因后,发现是chrome浏览器的缓存导致,删除就好了自建的images静态文件访问不到非技术原因,自建目录 重构 下项目发布就行...

2019-10-11 10:46:39 98

原创 RESTful风格下@RequestBody和@RequestParam应用场景区别

今天使用PostMan发报文去请求服务器,post和put放回正常结果,而发送get和delete则返回如下信息 "error": "Bad Request", "exception": "org.springframework.web.bind.MissingServletRequestParameterException", "message": "Required String par...

2019-08-07 16:47:37 1985

原创 git常用命令

本地创建git项目并推到github远程仓库git remote add origin [email protected]:jie12366/chat.git(刚刚copy的地址)git push -u origin master (你要提交的分支,这里为master即主分支)github添加、删除远程仓库git remote //用于管理远程仓库git remote //不带参数...

2019-08-03 16:51:34 574

原创 盛最多水的容器

给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49来源:力扣(LeetCode)链...

2019-07-18 17:01:43 103

原创 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)...

2019-07-18 16:17:09 107

原创 线程通信

synchronized版本调用public class Main { public static void main(String[] args) throws InterruptedException { Num1 num1 = new Num1(); new Thread1(num1).start(); new Thread2(num1).start(); }}...

2019-06-29 20:08:17 164

空空如也

空空如也

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

TA关注的人

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