- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 Java Stream与多线程
学习了尚硅谷的JUC,周阳老师讲的商城比较价格的案例,自己模拟了一个多线程的demo, 多线程处理任务并且汇总结果,出现了疑问,实例代码放在下面,读者有兴趣的话可ctrl+cv玩一玩
2023-08-31 09:08:35
303
原创 SpringSecurity 入门
SpringSecurity 入门一步一步来。集各家之所长,师从 尚硅谷、狂神、三更草堂;如果文中发现跟他们有类似的,不用想,就是他们那里拿来的事先声明,本人很菜,其中有说的误人子弟的,请大家指出来。环境:idea2020.1 SpringBoot2.6.3 MyBatisPlus Maven3.6.3 SpringSecurity Lombok MySQL8.0.23…总述:先根据三家总的说一下,大致可以划分为两类: **1.**前后端不分离 *
2022-02-16 14:54:19
1085
原创 洛谷P1114 “非常男女”计划
洛谷P1114 “非常男女”计划题目:题目描述近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太多,仅是舞伴),通过各种推理和实验,他掌握了大量的实战经验。例如,据他观察,身高相近的人似乎比较合得来。万圣节来临之际,XXX准备在学校策划一次大型的“非常男女”配对活动。对于这次活动的参与者,XXX有自己独特的选择方式。他希望能选择男女人数相等且身高都很接近的一些人。这种选择方式实现起来很简单。他让学校的所有人按照身高排成一排,然后从中选出连续的若干个人,使得这些人中男女人数相等。为了使活
2021-11-14 13:06:41
703
2
原创 洛谷 P1141 01迷宫
洛谷 P1141 01迷宫BFS或者并查集题目描述有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入格式第1行为两个正整数n,m。下面n行,每行n个字符,字符只可能是0或者1,字符之间没有空格。接下来m行,每行2个用空格分隔的正整数i,j,对应了迷宫中第i行第j列的一个格子,询问从这一格开始能移动到多少
2021-11-12 21:58:22
200
原创 试题 算法训练 预备爷的悲剧
试题 算法训练 预备爷的悲剧题目资源限制时间限制:1.0s 内存限制:512.0MB问题描述英语预备爷gzp是个逗(tu)比(hao),为了在即将到来的英语的quiz中不挂科,gzp废寝忘食复习英语附录单词表,俨然一场人间悲剧。不过上天有好生之德,上帝扔给了gzp一张纸,上面记载了将要考到的单词。不过gzp是个逗比,之前复习的东西全忘记了,所以他又要再来一次复习。不过已经知道了要考的单词,所以不需要复习单词表的所有页数。因此,现在需要你帮助他求出有多少页纸需要复习。他会告诉你每个单词会在哪几页
2021-11-11 15:51:56
1094
原创 蓝桥杯 试题 算法训练 进击的青蛙
蓝桥杯 试题 算法训练 进击的青蛙资源限制时间限制:1.0s 内存限制:256.0MB问题描述青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N。桥上的一些点有一些石子,这些点是无法跳上去的。青蛙每次跳跃能向前跳跃+1,+2,+3段,现在请你算出跳到末端的总方法数。如果无法到达,请输出”No Way!"输入格式输入数据共N行。第一行一个数字N,代表桥的长度。接下来N行,表示从点1~N的道路情况,每行一个数字0或1,1表示有石子。输出格式输出一行,为一个整
2021-11-08 14:07:46
2246
6
原创 蓝桥杯 试题 算法训练 印章
试题 算法训练 印章动态规划:资源限制时间限制:1.0s 内存限制:256.0MB问题描述共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式一行两个正整数n和m输出格式一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定1≤n,m≤20题目意思简洁明了。。。。动态规划:1.设置状态(看是一维数组还是二维数组,一般的题目都是二维数组,经验之谈)2.找状态之间的关系,3.写代码这其中1,2
2021-11-02 14:29:21
24236
110
原创 JavaWeb保姆级入门
JavaWeb保姆级入门first:技术:Servlet && JSP环境:Idea2020.1、Tomcat 9.0.41、Maven 3.6.3步骤:1.新建一个Maven项目由于一个项目里面有很多文件,我们要养成一个习惯:同一个项目的文件放在同一个文件夹里面!Finish之后,This Window选项表示Idea不用新建窗口,关闭当前项目,用来显示现在创建的项目,New Window就是不用关闭当前项目,新建窗口显示我们创建的项目!!!2.添加Web支持建好之
2021-10-25 22:44:16
187
2
原创 月赛题目1025
月赛题目:1.无限增长有一个无限长的数轴,小IT想要知道某个点是否在数轴上。起始时,数轴上只有一个点1,数轴遵循这样一种特点:如果数 x 在数轴上,那么x⋅a和x+b也在数轴上。现在,小IT给定a,b,想问你n是否在数轴上,如果在输出Yes,否则输出No。输入格式:第一行为一个整数T,表示T(1≤T≤10^5)组数据对于每一组数据在一行中输入n,a,b,(1≤n,a,b≤10^9)输出格式:对于每一组测试数据,在一行中输出Yes或者No输入样例:524 3 510 3 623
2021-10-25 14:34:11
208
原创 并查集跟map 洛谷家谱
并查集跟map题目:(来自洛谷:家谱)题目背景现代的人对于本家族血统越来越感兴趣。题目描述给出充足的父子关系,请你编写程序找到某个人的最早的祖先。输入格式输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用 #name 的形式描写一组父子关系中的父亲的名字,用 +name 的形式描写一组父子关系中的儿子的名字;接下来用 ?name 的形式表示要求该人的最早的祖先;最后用单独的一个 $ 表示文件结束。输出格式按照输入文件的要求顺序,求出每一
2021-10-23 20:48:08
161
原创 动态规划入门
动态规划入门动态规划,要么自顶向下来考虑子问题,要么自底向上考虑子问题;通过子问题来推导出最终问题的解;最难的点:定义状态(这个找对了,状态转移方程就好找了),状态转移方程;说白了,动态规划就是做熟练,找规律!!!!一般是二维数组,不多数是一维数组,更高维度那就难的不是一丢丢了。。。1.切原木问题题目描述:给定一根长度为N米的原木;另有一个分段价格表,给出长度L1,L2,…Li,…Lk米所对应的价格P1,P2…Pk(Li,Pi均为正整数),求切割原木分段出售所能获得的最大收益。 例如,根据下面
2021-10-19 13:00:51
787
1
原创 图论基础(1)
图论基础(1)入门级文章1.图基本介绍什么是图?图是由顶点的非空有穷集合(用V表示该集合)与顶点之间的关系(边或弧)的集合(用E表示该集合)构成的结构。可以形式化表示为G=(V,E)其中,V为顶点的非空有穷集合,E为关系的有穷集合。根据顶点与顶点之间的关系分为有向图和无向图!!说白了就是有很多顶点,点与点之间有联系名词术语顶点的度:某个顶点V的度是指依附于该顶点的边或弧的数量,说白了就是跟这个点连的有几条线出度、入度:对于有向图还要区分出度和入度,一个顶点V的出度是指以该顶
2021-10-16 14:24:44
231
原创 洛谷 建筑抢修
洛谷 建筑抢修题目思路:贪心 + 堆题目:思路解析:取自洛谷[Gypsophila ] 的解析贪心策略:直接按 t 贪心?显然不行。那我们考虑先按 t贪心,中途再更改。按 t 从小到大排序之后,开始轮流遍历每个建筑。如果中途某个建筑 i 无法在 ti的时间内修复,那么在先前选择修复的建筑中(放在了堆中)拿出 aj 最大的 j 号建筑。若 ai<aj,则放弃 j 转而修 i。(主思路)策略证明:若第 i号出现时间不足,那么前 i 个建筑中最多修复 i−1个建筑则我们必然选
2021-10-15 15:32:14
149
2
原创 洛谷 中位数
洛谷 中位数优先队列的使用输入样例71 3 5 7 9 11 6输出1 356题目意思解释:输入7,表示有七个数,七个数分别是1 3 5 7 9 11 6;求前1个数的中位数,只有1这一个数,所以输出1;求前三个数的中位数,有1 3 5,中位数是3,输出3;求前五个数的中位数,有1 3 5 7 9,中位数是5,输出5;求前七个数的中位数,按顺序来有1 3 5 6 7 9,中位数是6,输出6;…由于只有七个数,结束输出,输入的数并不是有序的哦思路解析:用两个堆,一
2021-10-14 14:18:36
349
原创 c++ STL二叉堆(优先队列)
c++ STL二叉堆(优先队列)1.介绍完全二叉树:叶子节点只会出现在最后2层,且最后一层的叶子节点都靠左对齐。二叉堆 (优先队列):一种特殊的完全二叉树,父结点值比子结点大或者小。最小堆(小根堆):父结点比子结点都要小最大堆(大根堆):父结点比子结点都要大二叉堆前提是他必须是一颗完全二叉树!!!!!既然可以按顺序标号,那么我们就可以用一个数组来把这颗树存起来了根节点下标为1,左孩子下标 父结点下标*2 ,右孩子下标 父结点下标*2+1反过来,我们知道孩子的下标,求父结点的下标 孩子
2021-10-12 14:24:27
1168
2
原创 PTA 列出连通集
PTA 列出连通集给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2 … vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70 1
2021-10-11 09:16:16
337
原创 c++ Map和题目
c++ map1.dev-c++ 使用c++11的设置方法2.map基本用法简介构造:函数原型功能map<T1, T2> mp;map默认构造函数。map(const map &mp);拷贝构造函数。赋值:(可以写赋值等号=)函数原型功能map& operator=(const map &mp);重载等号操作符。map是STL的一个关联容器,它提供一对一的映射。第一个可以称为关键字(k
2021-10-10 10:37:41
1235
原创 C++ list 使用
C++ list的使用整理自博客:老樊Lu码 的一篇文章 和洛谷一题解里面的list定义List是stl实现的双向链表,与向量(vector)相比, 它允许快速的插入和删除,但是随机访问却比较慢。使用时需要添加头文件#include list<int>lst1; //创建空listlist<int> lst2(5); //创建含有5个元素的listlist<int>lst3(3,1); //创建含有1个元素的listl
2021-10-06 15:33:02
172
原创 蓝桥杯试题 历届试题 兰顿蚂蚁
试题 历届试题 兰顿蚂蚁兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“
2021-10-05 10:10:19
118
原创 蓝桥杯 试题 算法训练 王、后传说
蓝桥杯 试题 算法训练 王、后传说八皇后问题的变形,也不能说是变形,叫做改了一下下问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。 看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。 所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死… 现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的格子可能不到9个)。当然,皇后也不会攻击国
2021-10-04 10:05:20
268
原创 蓝桥杯 和为T 深搜
和为T问题描述从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T。每个元素限选一次,不能一个都不选。输入格式第一行一个正整数n,表示整数集内元素的个数。 第二行n个整数,用空格隔开。 第三行一个整数T,表示要达到的和。输出格式输出有若干行,每行输出一组解,即所选取的数字,按照输入中的顺序排列。 若有多组解,优先输出不包含第n个整数的;若都包含或都不包含,优先输出不包含第n-1个整数的,依次类推。 最后一行输出总方案数。样例输入5-7 -3 -2
2021-10-03 16:53:53
577
1
原创 完全二叉树的权值
试题 历届真题 完全二叉树的权值【第十届】【省赛】【A组】问题描述给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1, A2, · · · AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。 注:根的深度是 1。输入格式第一行包含一个整数 N。 第二行包含 N 个整数 A1, A2, · · · AN 。输出格式输出一个
2021-10-01 22:28:36
335
1
原创 蓝桥杯 历届真题 全球变暖
蓝桥杯 历届真题 全球变暖问题描述 你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹
2021-09-28 11:46:29
320
原创 蓝桥杯-过河马
蓝桥杯-过河马资源限制时间限制:1.0s 内存限制:256.0MB 问题描述 在那个过河卒逃过了马的控制以超级超级多的走法走到了终点之后,这匹马表示它不开心了…… 于是,终于有一天,它也过河了! 由于过河马积累了许多的怨念,所以这次它过了河之后,再也没有什么东西可以限制它,它可以自由自在的在棋盘上驰骋。一开始,它是在一个n行m列棋盘的左下角(1,1)的位置,它想要走到终点右上角(n,m)的位置。而众所周知,马是要走日子格的。可是这匹马在积累了这么多怨念之后,它再也不想走回头路—
2021-09-23 13:41:05
3083
17
原创 顺时针旋转矩阵
顺时针旋转矩阵描述有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。 示例1输入:[[1,2,3],[4,5,6],[7,8,9]],3 返回值:[[7,4,1],[8,5,2],[9,6,3]]很简单的一个题目啊,举个例子:这就行了嘞。。。import java.util.*;public class Solution { public int[][] rot
2021-09-20 11:54:39
494
原创 找第k大的元素
寻找第k大有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组 ,同时给定它的大小 和要找的 ,请返回第 大的数(包括重复的元素,不用去重),保证答案存在。要求时间复杂度O(n) 示例1输入:[1,3,5,2,2],5,3返回值:2示例2输入:[10,10,9,9,8,7,5,6,4,3,4,2],12,3返回值:9说明:去重后的第3大是8,但本题要求包含重复的元素,不用去重,所以输出9 方法一、堆的使用建一个大根堆,然后pop
2021-09-17 11:52:45
107
原创 前k个数。。
优先队列描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000 示例111111111111111111输入:[4,5,1,6,2,7,3,8],4 返回值:[1,2,3,4]说明:返回最小的4个数即可,返回[1,3,2,4]也可以 示例222222222222
2021-09-15 16:38:03
101
原创 差分的题目
一道关于差分的题目田小锋有n个盒子,这个B想要在这n个盒子放入一定量的球。一开始n个盒子是空的,接下来每次操作,这个B可以选择一段连续区间[L,R],然后在第L个盒子到第R个盒子之间每个盒子都放入一个球(含第L个和第R个玻璃瓶),求能达到符合的要求的最少的操作次数。输入格式:第一行包含一个整数 n(1≤n≤110),表示n个盒子。 第二行包含 n 个整数,表示每个盒子要求要放的球个数m。 0≤m≤10000输出格式:仅一行,即所需的最少操作数。输入样例:52 3 4 1 2输出样
2021-09-14 20:07:03
273
原创 二叉树层序遍历
二叉树层序遍历给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]提示:0 <= 二叉树的结点数 <= 1500/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solu
2021-09-13 09:27:58
297
原创 两个栈实现队列
两个栈实现队列描述用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。示例:输入:["PSH1","PSH2","POP","POP"]返回:1,2 解析:"PSH1":代表将1插入队列尾部"PSH2":代表将2插入队列尾部"POP“:代表删除一个元素,先进先出=>返回1"POP“:代表删除一个元素,先进先出=>返回2 示例1
2021-09-11 11:24:51
89
2
原创 判断链表是否有环
判断链表是否有环快慢指针描述:判断给定的链表中是否有环。如果有环则返回true,否则返回false。你能给出空间复杂度O(1)的解法么?输入链表,判断是否有环 11111111111输入:{3,2,0,-4},1 返回值:true说明:第一部分{3,2,0,-4}代表一个链表,后面的数字1表示,-4到位置1,即-4->2存在一个链接2222222222222输入: {1},-1 返回值:false说明:第一部分{1}代表一个链表,-1代
2021-09-10 11:55:18
71
原创 反转链表-两种方法
反转链表题目大家都很熟悉了!描述输入一个链表,反转链表后,输出新链表的表头。示例1输入:{1,2,3}返回值:{3,2,1}java:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Reverse
2021-09-10 11:17:55
164
原创 每日一题-贪心数组
数组来自acwing每日一题给定一个长度为 nA 的非降序整数数组 A 和一个长度为 nB 的非降序整数数组 B。请问,能否从 A中挑选 k 个数,从 B 中挑选 m 个数,使得在 A 中挑选出的任何数都严格小于在 B中挑选出的任何数。输入格式第一行包含两个整数 nA,nB。第二行包含两个整数 k,m。第三行包含 nA个整数 a1,a2,…,anA。第四行包含 nB个整数 b1,b2,…,bnB。输出格式共一行,能则输出 YES,否则输出 NO。数据范围1≤nA,nB≤105
2021-09-09 23:38:20
168
原创 题目:矩阵变换
矩阵变换给定一个 n×n 的 01矩阵。你可以选择若干列(也可以不选),并将这些列上的所有元素进行变换(1 变 0,0 变 1)。你的目标是使得矩阵中有尽可能多的行满足:一行中的所有元素都为 1。输出可以得到的满足条件的行的最大数量。输入格式第一行包含整数 n。接下来 n行,每行包含一个长度为 n 的 01字符串,表示整个矩阵。输出格式输出可以得到的满足条件的行的最大数量。数据范围1≤n≤100输入样例1:40101100011110101输出样例1:2输
2021-09-03 19:21:31
517
原创 堆优化dijkstra
图有关的一道题目叶哥和圈姐正在一个含有 N 个顶点和 M 条边的简单连通图里玩游戏。圈姐首先要将图中的每一条边染成红色或者蓝色。一条路径是一系列边,其中每对连续边都有一个共同的节点。如果一对连续边中的第一条边的颜色与第二条边的颜色不同,我们就称这为“颜色变化”。在圈姐的染色工作结束后,叶哥就需要选择一条起点为 1,终点为 N 的路径。叶哥可以选择图中的任意一条路径,但是叶哥要使这条路径中的“颜色变化”的次数最少。而圈姐则是要让叶哥选择的路径中发生的“颜色变化”的次数最多,不管叶哥怎么选。现在请你
2021-09-02 16:11:56
280
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人