自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK源码阅读之集合篇-ConcurrentHashMap(1)

有了前面阅读HashMap源码的经验,阅读ConcurrentHashMap的源码就轻车熟路了,嘿嘿,小伙伴了,坐稳了,我要开车啊~~废话不多说,开始吧!1.设定目标1)熟悉ConcurrentHashMap的数据结构和存储结构2)熟悉ConcurrentHashMap中主要的属性、内部数据结构、主要方法的实现过程3)探索ConcurrentHashMap中出现的新技术和掌握自...

2019-07-29 17:45:09 148

原创 JDK源码阅读之集合篇-HashMap(3)

这篇主要是回答一下第一篇中的问题。2.回答问题1)HashMap是线程安全的吗?如果不是线程安全的,会出现什么问题?能举个例子吗?不是,会出现数据覆盖的问题。比如当有两个线程往同一个空桶中插入数据时,后插入的有可能会覆盖前一个插入的。2)有其它的线程安全的解决办法吗?1.使用Hashtable替换(不是很推荐用这种方法,因为通过源码我们可以看到都是在get、put、remove...

2019-07-28 15:23:24 168

原创 JDK源码阅读之集合篇-HashMap(2)

接上篇。注意:这里HashMap是使用的JDK8的版本。1.完成目标1)HashMap的数据结构和存储结构HashMap使用了“数组+链表+红黑树”的数据结构。存储结构如下图所示:HashMap采用了(数组+链表+红黑树)的复杂结构,数组中的每一个元素又称作桶(bin)。当一个桶中元素个数达到8个,并且桶的个数达到64时,则将这个桶中的链表转化为一颗红黑树。2...

2019-07-21 15:38:32 170

原创 Mybatis学习之总领篇

本篇是Mybatis学习的总领篇,主要包括四部分内容。带你玩转Mybatis,开始我们学(bi)习(ge)之路吧。1. Mybatis入门篇spring整合Mybatis,简单使用(CRUD),一些元素的配置和使用。2. Mybatis进阶篇在mybatis基础上实现的一些扩展功能,包括事物,分页,乐观锁及悲观锁 。3. Mybatis高级篇mybatis的一些高级特性及与...

2019-06-11 11:32:26 119

原创 读书笔记-算法竞赛入门经典(第二版)-第五章 C++与STL入门之STL初步

5.2 STL初步STL是指C++的标准模板库。它里面包含一些常用的算法和容器,用好了它,可以让我们编程事半功倍。5.2.1 常用算法在algorithm头文件中包含我们一些常用的算法,如sort(排序),lower_bound(查找大于或者等于x的第一个位置),unique(删除有序数组中的重复元素)等等。5.2.2 常用容器常用的容器包括vector,set,map,sta...

2019-06-08 15:47:16 181

原创 开发工具IDEA之使用ssm框架搭建JavaWeb项目

本篇主要介绍使用在Idea中使用ssm框架搭建JavaWeb项目(其实和在Eclipse中并没有多大不同),废话不多说,开始吧!1.新建Maven项目 File->New->Project 选择Maven,并勾选下图红色箭头所指点击next后进入下图界面,输入GroupId和ArtifactId点击next进入如下界面,如果之前安装了maven,那么...

2019-06-02 17:23:38 1304

原创 开发工具IDEA之新建JavaWeb项目

先声明一下,我用的idea的版本号是2019.1.1。Let's begin!1.打开IDEA。(后面会讲第一次打开IDEA的情况)2.选择File->New->Project3.Java Enterprise->Web Application4.点击next,进入输入Project name和Project location信息。Ps:可以先...

2019-05-15 11:54:00 218

原创 开发工具IDEA之总领篇

本篇是介绍开发工具IDEA的总领篇。1.前言 用了许久的Eclipse来开发,终于想用IDEA换换口(bi)味(ge)。早就见识了IDEA的狂拽帅气吊炸天,但一直没有机会使用(Ps:其实是因为自己很懒)。现在终于有机会尝一尝鲜了。2.大纲 打算用一个星期左右的时间熟悉IDEA的各种基本操作,更多的操作将在后面的使用中慢慢熟悉。 主要包括这么几个方面: 1.新...

2019-05-14 12:13:29 269

原创 中间件之Kafka-1.初识Kafka

1.初识Kafka1.1 简介 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、sto...

2019-05-12 19:44:34 143

原创 中间件之Kafka-总领篇

本篇为中间件之Kafka的总领篇,让我们开始愉快地学习Kafka的知识,领略它的独特风骚吧!相信学完本系列,你就从Kafka小白变成精通Kafka的专家了。本系列文章分为五个部分:第一部分,初识Kafka;第二部分,Kafka入门篇,主要介绍Kafka的安装和使用以及Java开发中常用的API,熟悉相关的配置。第三部分,Kafka进阶篇,主要介绍Kafka的一些实现机制。第四部...

2019-05-12 17:42:10 179

原创 Eclipse插件安装之AmaterasUML插件安装

今天折腾了一上午,终于在Eclipse上成功安装了AmaterasUML这个插件,记录一下安装流程及踩到的坑。1.先上安装流程(Ps:其实可以百度一下) 参考: 1.1 Eclipse UML小工具AmaterasUML的配置和使用 1.2 新版的Eclipse安装的插件都在哪里?2.遇到的坑及解决办法 2.1 Eclipse 安装插件后不显示的解决办法...

2019-05-05 11:38:40 316

原创 JDK源码阅读之集合篇-HashMap(1)

1.回顾(ps:已经很熟悉的可以忽略这段,哈哈哈) 集合HashMap采用键值对<K,V>的形式存储数据。其中每个元素也叫条目集Entry<K,V>。 HashMap中常用的方法回顾:import java.util.HashMap;import java.util.Iterator;import java.util.Map.Entry;pub...

2019-05-03 11:22:27 234

原创 随记(纯属闲谈)-秒杀系统流量削峰之无损方案

今天要介绍的无损的削峰方案主要有3个:1.使用队列 通过队列来控制瞬时访问峰值,队列两端其中一端用来承接访问者,另外一端将访问转交给后台系统。就如有大坝一样把洪峰阻击在上游,使得中下游有一个缓冲时间来疏导洪水。2.答题 答题其实有两方面的目的。一是为了防止秒杀器的存在,另外一方面则是通过将1s的访问量分发至2-10s,通过时间片的轮转来削峰。3.分层过滤 ...

2019-05-02 18:12:40 272

原创 读书笔记-算法竞赛入门经典(第二版)-第五章 C++与STL入门之从C到C++

5.1 从C到C++ 5.1.1 C++版框架 C++能编译大多数C语言程序。虽然C语言中大多数头文件在C++中仍然可以使用,但推荐的方法是在C头文件之前加一个小写的c字母,然后去掉.h后缀。例如stdio.h->cstdio.h,string.h->cstring,math.h->cmath,ctype.h->cctype. ...

2019-04-25 17:46:21 247

原创 附加题-线段求交

线段求交描述给定n条二维平面上的线段,求这些线段的交点个数。输入第一行包含一个正整数n。接下来n行,每行包含四个整数x1,y1,x2,y2用来描述一条线段,其中x1,y1表示该线段的一个端点坐标,x2,y2表示另一个端点坐标。输出输出交点的个数。样例1输入51 1 3 31 2 3 21 3 ...

2019-03-20 15:15:41 392

原创 附加题-二叉查找树

二叉查找树描述实现一种数据结构,维护一个整数集合(该集合中数字可重复存在),并拥有以下功能:插入一个数字 删除一个数字 查询某个数字有多少个 查询最值 查询某个数字的前驱(就是集合中比该数字小的最大值)输入第一行一个整数n,表示操作个数。接下来n行,每行表示一个操作,第一个数字op表示操作种类:若op...

2019-03-20 15:15:20 295

原创 期末-考题5

考题5描述二维平面上,给定n个点{ai}和m个点{bi},且保证这n+m个点中,任意两个点的x坐标和y坐标均不相同。对于每个bi,判断是否存在由3个ai,aj,ak(1≤i,j,k≤n,i≠j≠k)点组成的三角形包含bi(在三角形边上也算包含;允许三点共线的三角形,此时只有bi在三点中任意两点的线段上才算包含...

2019-03-20 15:15:01 265

原创 期末-考题4

考题4描述给定一个由26个字符组成的字符串s和n个不同的「小」字符串,请问有多少种方案可以用「小」字符串不重叠地拼接成s(每个「小」字符串可以使用多次)。输入第一行为字符串s。第二行为一个正整数n。接下来n行,每行一个「小」字符串。输出输出方案数除以23333的余数。样例1输入...

2019-03-19 14:29:58 475 1

原创 期末-考题3

考题3描述给定长度为n的整数数列A和B,以及一个整数S。试问是否存在一个长度n的数列C,使得n∑i=1Ci=S。其中Ci(1≤i≤n)的值为Ai、Bi、Ai×Bi三种其中之一。输入输入的第一行包含一个正整数T,表示数据组数。对于每组数据,第一行包含两个整数n,S。接下来2行,每行包含n个整数,...

2019-03-19 14:29:45 379

原创 期末-考题2

考题2描述给定一个满二叉树,即这棵二叉树有n=2m(0≤m≤18)个叶子,每个叶子上有一个数字,且从左往右看去,这些数字序列是一个1到n的排列。二叉树每个非叶节点都能任意次数地交换左右孩子,且交换没有先后顺序的要求。交换完以后,从左往右看去,叶子组成的数字序列(仍是1到n的排列)的逆序对可能发生了改变哦~现在...

2019-03-19 14:29:38 420

原创 期末-考题1

考题1描述给定一个1到n的排列,依次从队尾插入到队列中,在任何时刻你都可以弹出队首或队尾。最终你需要把队列清空。问:如何使得出队序列的字典序最大?请输出这个序列。输入输入的第一行包含一个正整数n。接下来1行包含n个整数,一个1到n的排列。输出输出1行n个整数,即所求序列。样例1输入...

2019-03-19 14:29:29 609

原创 第五周-周测-小粽圈地

小粽圈地问题描述小粽家里有一块地,地上有n 个木桩。小粽家的地可以看作是一个平面,并且小粽知道每个木桩的坐标(xi,yi)。小粽很喜欢四边形,现在她想从这些木桩中选出4 个来围成一个四边形(这个四边形为简单多边形,即每条边不能和自己相交,但不一定要为凸四边形),并使得这个四边形的面积最大。请你帮小粽算出这个最大...

2019-03-19 14:29:19 216

原创 第五周-3.2青蛙

青蛙题目名称:小青蛙时间限制:5 sec空间限制:256 MB问题描述一个坐标轴上有 n 个荷叶,编号从 1 到 n。每片荷叶有一个坐标。有一只可爱的小青蛙,它任选一片荷叶作为起点,并选择一个方向(左或右)然后开始跳。第一次跳跃时,他没有任何限制。从第二次跳跃开始,受到魔法的影响,他每次跳跃的距离都必须不小于前...

2019-03-19 14:29:07 239

原创 第五周-3.1纸牌

纸牌时间限制:1 sec空间限制:512 MB问题描述小明有 2n 张纸牌,点数依次从1 到 2n。小明要和你玩一个游戏,这个游戏中,每个人都会分到 n 张卡牌。游戏一共分为 n 轮,每轮你们都要出一张牌,点数小者获胜。游戏开始了,你拿到了你的牌。你现在想知道,你最多(也就是运气最好的情况下)能够获胜几轮?输入...

2019-03-19 14:28:48 322

原创 第五周-1.2最近点对

最近点对描述给定n个二维平面上的点,求距离最近的一对点,输出他们的距离。输入第一行包含一个正整数n。接下来n行,每行包含两个整数x,y,表示一个点的坐标。输出输出距离最近的一对点的距离,保留两位小数。样例1输入107 9-8 -1-3 -11 4-3 96 -47 56 6-6 ...

2019-03-19 14:28:28 135

原创 第五周-1.2图

图描述一个数列 a 称为合法的当且仅对于所有的位置 i, j(i < j ≤ n),都不存在一条从 aj 点连向 ai 的有向边。现在有很多个有向无环图,请你判断每个图是否只存在唯一的合法数列。输入输入的第一行包含一个正整数 T ,表示数据组数。对于每组数据,第一行包含两个正整数 n, m,表示图的节点个数和...

2019-03-19 14:28:08 192

原创 第五周-1.1凸包

凸包描述给定n个二维平面上的点,求他们的凸包。输入第一行包含一个正整数n。接下来n行,每行包含两个整数x,y,表示一个点的坐标。输出令所有在凸包极边上的点依次为p1,p2,...,pm(序号),其中m表示点的个数,请输出以下整数:(p1 × p2 × ... × pm × m) mod (n + 1)...

2019-03-19 14:27:53 198

原创 第四周-周测-循环节

循环节问题描述小粽今天在玩一个字符串。最初,小粽手上有很多很多个(你可以认为是无限多个)一模一样的字符串 a,小粽选出若干个 a 顺次拼接为一个新的字符串 b。由于小粽犯了粗心,她把最初的 a搞丢了,并且 b 的末尾也丢失了一些字符,只剩下了一个 b 的前缀 c。小粽很伤心,为了安慰她,请帮她计算可能的 a的最短...

2019-03-18 11:34:52 231

原创 第四周-3.2基数排序

基数排序时间限制:10 sec空间限制:1 GB问题描述给定 n 个 [0,2^k) 之间的整数,请你将它们升序排序。由于 n 可能很大,为了避免过大的输入、输出规模,我们会在程序内部生成数据,并要求你输出排序后序列的哈希值。具体方法如下(用c++代码展示):typedef unsigned int u32;...

2019-03-18 11:34:33 181

原创 第四周-3.3 字符串匹配

字符串匹配时间限制:1 sec空间限制:256 MB问题描述给定一个大串 A 和一个模式串 B,求 B 在 A 的哪些位置出现(输出这些出现位置的起始位置,下标从 0 开始)。输入格式第一行一个正整数 n,表示串 A 的长度。第二行包含一个长度为 n 的串 A。第三行一个正整数 m,表示串 B 的长度。...

2019-03-18 11:34:26 178

原创 第四周-3.1最大间隙

最大间隙时间限制:10 sec空间限制:1 GB问题描述给定长度为 n 的数组 a,其中每个元素都为 [0,2^k) 之间的整数,请求出它们在实数轴上相邻两个数之间的最大值(即maxGap)。由于 n 可能很大,为了避免过大的输入、输出规模,我们会在程序内部生成数据,并要求你输出排序后序列的哈希值。具体方法如下(用...

2019-03-18 11:34:15 211

原创 第四周-2.3前缀

前缀描述给定n个字符串,再询问m次,每个询问给出一个字符串,求出这个字符串是n个字符串里,多少个串的前缀。前缀:从头开始的一段连续子串。比如字符串ab是字符串abcd的前缀,也是字符串ab(自身)的前缀,但不是bab的前缀。输入第一行包含两个正整数n,m。接下来n行,每行表示一个字符串,表示给定的n个字符串中...

2019-03-18 11:33:42 270

原创 第四周-2.2子序列

子序列描述给定一个字符串,求出该字符串有多少不同的子序列。子序列:字符串中按顺序抽出一些字符得到的串。比如字符串abcd里,ab、ac、ad、abc、acd都是子序列。输入输入一个字符串。输出输出不同的子序列的个数除以23333得到的余数。样例1输入ababc样例1输出23样例1...

2019-03-18 11:33:34 263

原创 第四周-2.1邓老师数

邓老师数时间限制:1 sec空间限制:256 MB问题描述众所周知,大于 1 的自然数中,除了 1 与其本身外不再有其他因数的数称作质数(素数)。对于大于 1 的不是质数的自然数,我们又称作合数。参加了邓老师算法训练营的小 Z 突发奇想,定义了新的数:所有合数中,除了 1 与其本身外,其他因数均为质数的数,称作邓老师数...

2019-03-18 11:33:26 215

原创 第四周-1.2回文串

回文串描述给定一个字符串,求出该字符串有多少子串是回文串。子串:字符串中连续的一段。比如字符串abcd里,bc、abc、a、bcd都是子串。回文串:字符串倒序写出来和该字符串相同。比如aba,倒序写出来也是aba,故aba是回文串。而abab不是回文串,因为倒过来写是baba。输入输入一个字符串。输出输出子...

2019-03-18 11:33:02 138

原创 第四周-1.1矩形

矩形描述给定两个矩阵,判断第二个矩阵在第一个矩阵的哪些位置出现过。输入输入的第一行包含四个正整数a,b,c,d,表示第一个矩阵大小为a×b,第二个矩阵的大小为c×d。接下来是一个a×b的矩阵。再接下来是一个c×d的矩阵。保证矩阵中每个数字都为正整数且不超过100。输出若第二个矩阵在第一个矩阵的(i...

2019-03-18 11:32:34 255

原创 第三周-周测-Rhizomys

Rhizomys描述竹鼠养殖场有若干个小房间,有很多条双向道路连接着它们。值得注意的是,在养殖场中,连接两个房间的道路可能不止一条。由于路上能看到的风景不同,我们认为这两条路是不同的。同时,也可能存在一条道路是从一个房间出发又回到它自身,但我们规定,从一个房间到它自己的最短距离为0。为了不被吃掉,竹鼠们决定开始运...

2019-03-18 11:31:54 281

原创 第三周-3.3奶牛吃草

奶牛吃草时间限制:4 sec空间限制:256 MB问题描述有一只奶牛在一条笔直的道路上(可以看做是一个数轴)。初始,它在道路上坐标为 K 的地方。这条道路上有 n 棵非常新鲜的青草(编号从 1 开始)。其中第 i 棵青草位于道路上坐标为 x[i] 的地方。贝西每秒钟可以沿着道路的方向向前(坐标加)或向后(坐标减)移动一...

2019-03-17 10:38:52 381

原创 第三周-3.2倒水问题

倒水问题时间限制:10 sec空间限制:256 MB问题描述邓老师有有 2 个容量分别为 n 单位、m 单位的没有刻度的杯子。初始,它们都是空的。邓老师给了你 t 分钟时间。每一分钟,他都可以做下面 4 件事中的任意一件:用水龙头装满一个杯子。 倒空一个杯子。 把一个杯子里的水倒到另一个杯子里,直到一个杯子空...

2019-03-17 10:38:00 534

原创 第三周-3.1最长公共子序列

最长公共子序列时间限制:1 sec空间限制:256 MB问题描述给定两个 1 到 n 的排列 A,B (即长度为 n 的序列,其中 [1,n] 之间的所有数都出现了恰好一次)。求它们的最长公共子序列长度。输入格式第一行一个整数 n ,意义见题目描述。第二行 n 个用空格隔开的正整数 A[1],…,A[n],描述排...

2019-03-17 10:37:15 205

空空如也

空空如也

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

TA关注的人

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