自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java编码规范

1. 命名规约抽象类命名使用Abstract或Base开头异常类命名使用Exception结尾测试类命名以它要测试的类的名称开始,以Test结尾中括号是数组类型的一部分,数组定义如下:string[] args;POJO类中,布尔类型的变量都不要加is,否则部分框架解析会引起序列化错误接口类中的方法和属性不要加任何修饰符号(public也不要加),保持代码的简洁性,并加上有效的Javadoc注释对于Service和DAO层,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的

2020-10-16 18:34:07 588

原创 Spring快速入门

1.概述1.1 什么是SpringSpring是一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以IOC和AOP为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB臃肿、低效的开发模式。Spring致力于Java EE应用各层的解决方案,在表现层(它提供了Spring MVC以及与Struts框架的整合功能;在业务逻辑层可以管理事务、记录日志等;在持久层可以整合MyBatis、Hibernate、JdbcTemplate等技术。1

2020-09-27 20:32:17 287

原创 设计模式_02(单例模式)

点击跳转设计模式目录      单例设计模式就是采取一定的方法保证在整个的软件系统中,对某个类智能存在一个对象实例,并且该类只提供一个取得其对象的实例的方法(一般为静态方法)。单例模式的五种方式(也可称为8种):1.饿汉式(静态常量)—推荐2.饿汉式(静态代码块)—推荐3.懒汉式(线程不安全)----不能使用4.懒汉式(线程安全,同步方法)----不推荐使用5.懒汉式(线程不安全,同步代码块)-----不能使用6.双重检查-----

2020-06-19 22:08:29 263

原创 设计模式_01(七大原则)

一、设计模式七大原则1.单一职责原则2. 接口隔离原则3. 依赖倒转(倒置)原则4. 里氏替换原则5. 开闭原则(ocp)6. 迪米特法则7. 合成复用原则  使用设计模式的目的是提高代码重用性、可读性、可扩展性(可维护性)和可靠性(当增加新的功能后,对原来的功能没有影响),使程序呈现高内聚、低耦合的特性。1.1 单一职责原则  对类来说,即一个类应该只负责一项职责。单一职责原则细节:减低类的复杂度,一个类只负责一项职责提高类的可读性和可维护性降低变更引起的

2020-06-18 17:40:15 411

原创 PAT甲级_1120(Friend Numbers)

1120 友元数字如果两个数字共享相同的数字和,那么这两个数字就被叫做“友元数字”,这个和就是它们的“友元ID”。例如:123和51是“友元数字”,因为1+2+3 = 5+1 = 6,其中6就是它们的"友元ID"。给定一些数字,你应该找到其中不同的“友元ID”的数量。输入规范每个输入文件包含一个测试用例。每个用例的第一行包含一个正整数N。接下来一行给出N个用空格分隔的正整数。所有的数字不超过104。输出规范对于每个用例,在第一行打印给定整数中不同“友元ID”的个数。然后再第二行按照递增的顺序输出“

2020-05-23 21:49:32 137

原创 PAT甲级_1116(Come on)

1116 来吧!我们走(Let’s C)"Let’s C"是一个由浙江大学计算机科学与技术学院举办的非常有趣且特别受欢迎的比赛。由于比赛的目的是为了好玩,所以规则也比较有趣,如下:0、冠军奖获得一个“Mystery Award”神秘奖(如大学生收集的研究论文…)1、排名为质数的那些选手将获得最佳奖项-----"Minion"小黄人2、每个人都会收到“chocolate”巧克力对于给出的最终参赛者ID及对应的排名列表,你应该回答相应的奖项。输入规范每个输入文件包含一个测试用例。对于每个用例,

2020-05-22 22:55:26 205

原创 PAT甲级_1058(A+B in Hogwarts)

1058 霍格沃兹的A+B如果你是《哈利波特》的粉丝,你应该会知道魔法世界有自己的货币体系----正如海格对哈利解释的那样“17Sickle换取1Galleon,29Knut换取以Sickle,就是这么简单”。你的工作就是编写一个程序来计算A+B,其中A和B的格式为Galleon.Sickle.Knun(Galleon是[0, 107]中的整数,Sickle是[0, 17)中的整数,Knun是[0, 29)中的整数)。输入规范每个输入文件包含一个测试用例,该测试用例包含按照标准格式表示的A和B,两者之

2020-05-21 21:46:22 194

原创 PAT甲级_1023(Have Fun with Numbers)

1023 数字乐趣公告,数字123456789是一个由1~9的9个没有重复数字组成的9位数。将它翻倍我们将得到246913578,这恰好也是一个由1–9的9个没有重复数字组成的9位数,只是两者的排列方式不同。现在你应该检查是否有更多具有这个属性的数字。即,对于一个给定的数字K,将它乘以2后得到的结果是否是只包含原始数字中的数字的排列。输入规范每个输入包含一个测试用例,每个用例包含一个不超过20位数字的正整数。输出规范对于每个测试用例,如果输入数字加倍得到的数字仅由原始数字的排列组成,则在第一行中

2020-05-20 18:09:25 148

原创 PAT甲级_1027(Colors in Mars)

1027 火星上的颜色火星上的人们在计算机上表示颜色的方式与地球上的人们类似。即,一种颜色由6位数字表示(RGB),其中前两位数字表示红色值,中间两位数字表示绿色值,最后两位数字表示蓝色值。 唯一的区别是他们使用的基数13(0-9和 A-C)而不是16进制。 现在给定三个十进制数字表示(每个数字介于0和168之间)的颜色,您应该输出火星上的RGB 值。输入规范每个输入文件包含一个测试用例,该测试用例占用一行,包含三个十进制颜色值。输出规范对于每个测试用例,您应该以下列格式输出 火星上的RGB 值:

2020-05-17 22:17:30 194

原创 PAT甲级_1050(String Subtraction)

1050 字符串减法给定两个字符串S1和S2,S = S1 - S2定义为取S1中去除S2包含的所有字符后剩余的字符串。你的任务只是对于任何给定的字符,计算S1 - S2。然而,这并不是看上去那么简单。输入规范每个输入文件包含一个测试用例。每个用例由两行组成,分别为S1和S2。两个字符串的长度都不超过104。保证所有的字符都是可见的ASCII码和空格,并且字符串的结尾用换行符表示。输出规范对于每个测试用例,请在一行打印S1 - S2输入样例They are students.aeiou输

2020-05-14 11:55:10 160

原创 PAT甲级_1015(Reversible Primes)

1015 可逆素数任何数系的可逆素数是他是素数且它的逆序数字也是素数。例如73是素数,它在十进制中逆序后的37也是素数。现在给定任意两个正整数N(<105)和D(1 < D <= 10),你应该找到N是否是以D为基数的可逆素数。输入规范输入文件包含多个测试用例。每个用例占用一行,包含两个整数N和D。输入一个N为负数完成输入。输出规范对于每个测试用例,如果N是以D为基数的可逆素数,则在一行中打印Yes,否则打印No。输入样例73 1023 223 10-2输出样例

2020-05-14 11:16:45 204

原创 PAT甲级_1100(Mars Numbers)

1100火星数字火星上的人们以13为基数计算他们的数字(13进制):地球上的0在火星上被称为tret地球上的1~12在火星上表示分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec对于下一个更高一级的12个数字,火星分别命名为:"tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou"例如,地球上的29在火星上被称为"hel mar";火星上的elo nov则对应

2020-05-13 22:32:42 210

原创 PAT甲级_1104(Sum of Number Segments)

1104 段的数字和给定一个正数序列,定义一个连续的子序列为一段。例如给定序列{ 0.1, 0.2, 0.3, 0.4 },我们可以找到有10段:(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) 和 (0.4).。现在给定一个序列,你应该找到所有段中所有数字的总和。对于上一个实例,所有10个段的所有数字总和为:0.1 + 0.3 + 0.6 + 1

2020-05-12 23:04:05 248

原创 PAT甲级_1011(World Cup Betting)

1011 世界杯博彩随着2020国际足联世界杯的举行,全世界最好的球队中最棒的球员都在为了世界杯奖杯而在南美拼搏,因此来自世界各地的球迷非常激动和兴奋。同样的,爱好足球赌博的人也通过实际行动参与了进来,不过用的是各种世界杯赌博方式。中国足球彩票推出了一个“三倍赢”游戏。胜利的规则非常简单:首先为三局游戏选择可能的结果。即W是赢,T的是平局,L是输。对于每个结果都有一个赔率。胜利者的赔率将会是三个赔率的乘积乘以65%。例如,3局游戏的赔率在下面给出: W T L1.1 2.5 1.7

2020-05-11 18:25:37 221

原创 PAT甲级_1009(Product of Polynomials)

1009 多项式乘积这次,你应该求出多项式A和B的乘积(A*B)输入规范每个输入文件包含一个测试用例。每个测试用例占行,每行包含一个多项式的信息:K N1 aN1 N2 aN2 … NK aNK其中K表示多项式中非零项的个数,Ni和aNi(i = 1, 2, 3, …, K)分别表示指数和系数。它们的范围位1 <= K <= 10, 0 <= NK < … < N2 < N1 <= 1000。输出规范对于每个测试用例,你应该按照输入的格式在一行中输出A

2020-05-10 18:35:45 223

原创 MyBatis学习笔记02(核心配置文件)

1.配置文件目录结构2.environments(环境配置)案例如下:<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <!-- 配置连接池 --> <dataSource type="POOLED"> <property

2020-05-10 17:16:21 216

原创 MyBatis学习笔记01(简介)

1.MyBatis简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。2.MyBatis获取地址点击进入github下载MyBatis点击进入MyBatis官方帮助文档3.MyBtis基本项目构建

2020-05-09 21:44:33 166

原创 PAT甲级_1008(Elevator)

1008 电梯我市最高的建筑只有一部电梯。给定一个由N个正整数组成的请求列表。这些数字表示电梯将按指定顺序停在哪一楼层。电梯上移一层需要6秒,下移一层需要4秒。且电梯每停一次需要停留5秒。对于给定的请求列表,你需要计算完成列表中的所有请求花费的总时间。电梯一开始停留在第0层,在完成所有请求后不需要返回底层。输入规范每个输入文件包含一个测试用例。每个用包含一个正整数N和N个正整数。输入所有数字小于100.输出规范对于每个测试用例,在一行中打印总时间。输入样例3 2 3 1输出样例41

2020-05-09 20:11:22 194

原创 PAT甲级_1007(Maximum Subsequence Sum)

1007 最大子序列和给定一个包含K个整数的序列{N1,N2,…,NK}。定义连续子序列为{Ni,Ni+1,…,Nj},且(1 <= i <= j <= K)。最大子序列是具有最大元素和的连续子序列。例如:序列{-2,11, -4,13,-5,-2}的最大子序列是{11,-4,13},最大和是20。现在,你应该找到最大和,以及最大子序列的第一个元素和最后一个元素。输入规范每个输入文件包含一个测试用例。每个测试用例占两行。第一行包含一个正整数K(K<=10000)。第二行包含K个

2020-05-09 18:50:07 219

原创 PAT甲级_1006(Sign In and Sign Out)

1006 签到和签退每天一开始,第一个在到机房签到的人会打开门,最后一个离开机房签退的人会锁上门。根据签到和签退的记录,你应该找到那天开门和锁门的人。输入规范每个输入文件包含一个测试用例。每个用例都有一天的记录。用例以正整数M开头,M是记录总数,后跟M行,格式如下:ID_number Sign_in_time Sign_out_time其中时间以HH:MM:SS格式给出,ID_number是一个不超过15个字符的字符串。输出格式对于每个测试用例,在一行中输出当天开门和锁门的人员的ID_numb

2020-05-08 23:17:02 378

原创 PAT甲级_1004(Counting Leaves)

1004 数叶子家族等级关系通常用族谱树表示。你的工作是统计那些没有孩子的家庭成员数目。输入规范每个输入文件包含一个测试实例。每个用例的首行包含N和M,N表示树中的结点个数(0<N<100),M指非叶结点的个数。然后下面有紧跟M行,每行的格式如下:ID K ID[1] ID[2] ...ID[K]ID是一个两位的数字,表示一个非叶结点。K表示其孩子的数量。随后是一个序列,序列中是用两位数表示的该结点的孩子ID。为了简单起见,我们把根结点的ID固定为01。输入以N为0结束。此时,这个用

2020-05-08 22:41:03 215

原创 PAT甲级_1005(Spell It Right)

1004 拼写正确给定一个非负整数N,您的任务是计算N的所有位数之和,并用英语输出总和的每位数字。输入规范每个输入文件包含一个测试用例。每个案例占用一行,其中包含N(≤10100)输出规范对于每个测试用例,在一行中输和的没位数的英文单词表示方式。两个连续单词之间必须有一个空格,但行的末尾不能有多余的空格。输入样例12345输出样例one five解题思路只需要注意一点就...

2020-05-07 22:59:48 184

原创 PAT甲级_1003(Emergency)

1003 紧急事件作为一个城市的紧急救援队队长,你会得到一张你国家的专业地图。这张地图显示了几个通过道路连接起来的分散的城市。地图上标明了每个城市的救援队伍数量和某两个城市之间每条道路的长度。当其他城市的紧急电话打给你时,你的工作就是带领你的人尽快赶到那里,同时,在路上尽可能多的招集路过城市的救援队伍。输入规范每个输入文件包含一个测试用例。对于每个测试用例,第一行包含4个正整数:N表示城市数...

2020-05-07 22:30:09 284

原创 PAT甲级_1001(A+B Format)

1001 A+B格式计算a+b并且按照要求标准输出它们的和-------也就是说,数字必须三个一组用逗号分隔(除非少于4位数字)输入规范每个输入文件包含一个测试用例。每个测试用例包含一对整数a和b,其中a和b的数据范围位-106 <= a, b <= 106.数字用空格隔开。输出规范对于每个测试用例,你应该在一行输出a+b的和。计算的和必须以规定的标准格式书写。输入样例-...

2020-05-06 21:55:00 156

原创 PAT甲级_1002(A+B for Polynomials )

1002 A+B多项式这一次,你需要找到A+B的和,其中A和B的两个多项式。输入规范每个输入文件包含一个测试用例。每个用例占有2行,每行包含一个多项式信息K N1 aN1 N2 aN2 … NK aNK.其中K表示多项式中非零项个数,N和aNi(i = 1, 2, 3, …K)分别表示指数和系数。它们的取值范围为1<= K <= 10, 0 <= NK < … &lt...

2020-05-06 21:46:41 310

原创 软件测试(学习笔记)

1.软件测试与质量概述软件测试1.软件测试的根本目的是为了保证被测试软件系统符合用户需求,或者为了校验被测试软件系统的实际输出是否与用户预期保持一致2.软件测试有动态测试(通过运行软件来测试)和静态测试(通过阅读和评审代码来测试)两种设计方式。3.软件测试流程:测试计划---->测试设计—>测试实施与执行---->测试评估。(软件测试需要过程管理)4.软件测试围绕用户需...

2020-05-06 21:04:10 1294

原创 软件项目管理(学习笔记)

1.项目与项目管理项目   1.项目:项目是一次性的、以目标为导向的(目标明确)、通过项目经理及其团队工作完成的、存在大量的变更管理。    2.项目的特点:有明确的目标性明确的时限性资源成本的约束性项目的不确定性唯一性(一次性)3.项目的定义:是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的活动。项目...

2020-05-04 14:26:42 12119

原创 UML(学习笔记)

UML:统一建模语言(Unfied Modeling Language)是描述、构造和文档化系统制品的可视化语言。建模:给现实世界的事物建立被人所理解的模型。UML是一个庞大的图形化表示法体系。(UML仅仅是一种图形表示法。)应用UML的三种形式:草图、蓝图、编程语言UML的要素:表示法(图形)、过程(UML与过程无关,但最好用于RUP)、工具(如StarUML、Ratinal Rose)...

2020-04-26 11:48:49 734

原创 StarUML3(重点关键字翻译)

1.Class Diagram 类图2.Pakage Diagram 包图3.Object Diagram 对象关系图4.Composite Structure Diagram 组合结构图5.Component Diagram 构件图6.Deployment Diagram 部署关系图7.Use case Diagram 用例图8.Sequence Diagram 时序图(顺序...

2020-04-23 12:04:38 503

原创 POJ - 3461(Oulipo)

题目大意给定两个字符串 S 和 P ,问 P 在 S 中出现的次数。解题思路字符串匹配算法之KMP模板题。点击下方链接查看KMP算法模板字符串匹配之KMP(辅助理解KMP算法模板)#include <iostream>#include <string>using namespace std;const int MAXN = 10005;int ne[MAX...

2020-04-15 20:47:35 145

原创 字符串匹配之KMP(辅助理解KMP算法模板)

假设文本串为S,模式串为P1.暴力匹配for (int i = 0; i < n; i++){ bool flag = true; for (int j = 0; j < m; j++) { if (s[i] != p[j]) { flag=false; break; ...

2020-04-15 18:13:04 162

原创 多重背包问题

问题描述题目来源AcWing1.朴素做法最容易想到的做法就是看作01背包问题,直接求解。dp[i][j] = max{dp[i-1][j], dp[i-1][j-v[i] * k] + w[i] * k,(k = 0, 1, 2 ...s[i]),k表示第i件选择个数。在这里插入代码片...

2020-04-07 23:27:37 237

原创 POJ - 3186(Treats for the Cows)

题目大意给定右N个数字的序列,v1v2…vn,每次可以取出最左端或者最右端的数字,序列所有数字取出。假设第 i 次取得数字为 vi ,则可获得 i*vi 的价值,问如何规划取数顺序,才能使价值和最大,输出最大价值和。提示翻译:按照这种下标顺序取数: 1, 5, 2, 3, 4取出的数按顺序为:1, 2, 3, 1, 5最大总价值和:1x1 + 2x2 + 3x3 + 4x1 + 5x5...

2020-04-01 11:59:59 196

原创 POJ - 1661(Help Jimmy)

题目描述解题思路非常有意思的动态规划题。首先思考一个问题,如果最小下落路径已知,那么不管是从高处下落,还是从地面向上起跳,只要路径不变,那么路径长也是不会改变的。所以,理解了这点,就可以解决第一个问题,动态规划的起始点与最终状态。由于从起点下落,起点已知,但是下落的路径有多种可能,所以无法确定最终状态,因此我们可以将起点作为最终状态,由地面向起点动规。第二个问题就是转移的过程:如上图...

2020-03-20 13:36:54 214

原创 HDU - 1260(Tickets)

题目大意有K个人排队购买电影票,每个人可以选择自己购买或者和相邻的人组成两人小队一起购买,单独购买的时间为si,组队购买从第2个人开始,和前一个人一起购买花费的总时间是di(时间单位为秒)。8点开始售票,问所有人买到票的最早结束时间(12小时制,上午为am,下午为pm)。解题思路动态规划解决。1.状态表示:dp[i]表示前i个人买票花费最少总时间2.动态转移:当第i个人买票时,有两种选择...

2020-03-19 10:35:49 241

原创 完全背包问题

问题描述题目来源(AcWing #3_完全背包问题)思路可以发现在题目描述中01背包和完全背包的区别就是完全背包每件物品可以取无限次,01背包仅能取一次。完全背包虽然每件物品可以取无限次,但是背包体积有限,所以取得物品在保证体积可以装下的情况下也是有限的。1.状态表示:dp[i][j]表示从前i个物品中选择总体积小于等于j的若干物品最大价值和是多少2.动态转移:对于第i件物品来说,可以...

2020-03-18 17:46:29 143

原创 01背包问题

问题描述题目来源(AcWing #2_01背包问题)思路1.状态表示:dp[i][j]表示从前i个物品中选择总体积小于等于j的若干物品最大价值和是多少2.动态转移:考虑计算第i个物品时有以下两种情况(下述中v表示第i件物品体积,w表示第i件物品价值)–>a.包含第i个物品:dp[i-1][j-v]+w–>b.不包含第i个物品:dp[i-1][j]dp[i][j] = ma...

2020-03-18 16:49:54 127

原创 HDU-1074(Doing Homework)

题目大意该学生有N门科目作业需要完成。每门作业有完成时限(d天),且该名学生完成一门作业需要c天,如果未在时限内完成某门作业,则超出时限的科目作业每门每天扣一分。问如何安排作业完成顺序以保证扣分最少,输入时按照科目名字字典序从小到大的顺序输入,且要求安排时也应保证在扣分最小的情况下字典序最小。解题思路整体解题思路是状态压缩动态规划。1.状态压缩:将每一门科目作业用一位二进制数字表示,1表示...

2020-03-18 10:43:52 237 1

原创 数据结构之栈与队列(数组模拟)

1.栈const int MAXN = 100005;int value[MAXN]; //栈int cnt = -1; //栈顶指针//入栈void push(int x) { value[++cnt] = x;}//出栈void pop(){ cnt--;}//取栈顶int top() { return value[cnt];}//...

2020-03-16 11:04:43 125

原创 POJ-1458(Common Subsequence )

题目大意求两个字符串的最长公共子序列。如"abcd"和“abfceb”的最长公共子序列为"abc"。解题思路待更新#include <iostream>#include <string>#include <algorithm>#include <cstring>using namespace std;const int MAXN =...

2020-03-14 23:19:00 209

空空如也

空空如也

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

TA关注的人

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