自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ${pageContext.request.contextPath}不生效的问题

想通过${pageContext.request.contextPath}获取当前路径,然后发现这行代码被解析成了/$%7BpageContext.request.contextPath%7D,原因是因为web-app版本号过低。IDEA在创建javaweb项目的时候,web-app的版本默认是2.3,而要正确解析上面的代码获得当前路径,我们需要把web-app的版本手动改成2.5及以上版本。解决方法一:将的标签替换如下<?xml version="1.0" encoding="UTF-8"?&g

2021-05-29 14:56:05 2288 1

原创 关于jsp在页面中获取不到${}表达式的值的问题

问题: jsp页面在浏览器中显示el表达式为${xxx}形式,并没有显示为你后台设定的变量的值。解决方法: 在<%page%>中添加 isELIgnored=“false” 即可。<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问

2021-05-13 17:13:46 1368 1

原创 基数排序

基数排序基数排序(Radix Sort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。ps:基数排序只可以应用于整数。具体过程如图所示:模板代码:/* * 获取数组a中最大值 * * 参数说明: * a -- 数组 * n -- 数组长度 */int

2020-11-23 20:56:57 157

原创 n皇后问题(回溯法+二进制优化)

n皇后问题描述在一个n×n的国际象棋棋盘上放置n个皇后,使得她们中任意两个之间都不会互相“攻击”,即任意两个皇后不可以放在同一行、同一列、同一斜线上。输入:n输出:有多少种满足条件的放置方法。回溯法解空间利用约束条件,一维数组即可。x[i] 表示第i行的皇后的列数为x[i]。约束条件不同行:数组x的下标保证是不重复的。不同列:x[i] ! = x[j] (i<=n,j<=n,i != j)不同对角线:abs(x[i]-x[j]) ! = abs(i-j)对角线有两

2020-11-17 20:17:58 607

转载 形象理解Api和SDK

 API: 概念:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科 个人理解:在Java中,API相当于是一个别人已经实现了某个功能的说明书。比如别人写了一个两个数字相加求和的方法:       &n...

2020-11-13 13:41:29 135

原创 Java学习随笔(函数式接口)

函数式接口(Functional Interface)是Java8引入的一个新特性,是一种特殊的接口:SAM类型接口(Single Abstract Method),但本质上还是接口。函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为Lambda表达式。只要接口中出现多个抽象方法,那么就不能称之为函数式接口,运行时会编译错误。为此,Java8提供了一个新的注解@FunctionalInterface,如果接口被这个注解标注,就说明该接口是函数式接口,

2020-11-09 19:28:56 166

原创 Java学习随笔(lambda表达式)

定义lambda表达式是一个可传递的代码块,它允许把函数作为一个方法的参数。语法表达式格式如下:(parameters)->expression 或(parameters)->{statements;}重要特征:可选类型声明: 不需要生命参数类型,编译器可以统一识别参数值。可选的参数圆括号: 一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号: 如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字: 如果主体只有一个表达式返回值,则编译器会自动返回值

2020-11-09 18:59:52 143

原创 Shuffle Cards 解题报告(STL模板 rope)

时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld题目描述Eddy likes to play cards game since there are always lots of randomness in the game. For most of the cards game, the very first step in the game is shuff...

2020-10-12 17:15:06 91 1

原创 Java核心类(5 - 常用工具类)

常用工具类Math常用静态方法:求绝对值Math.abs(-100); // 100Math.abs(-3.15); // 3.15取最大值或最小值Math.max(100,22); // 100Math.min(-2.123); // -2计算xy:Math.pow(2,10); // 2的10次方=1024计算x的开方:Math.sqrt(2); // 1.414...计算ex:Math.exp(2); // 7.389..

2020-09-27 21:01:49 79

原创 Java核心类(4 - BigInteger和BigDecimal)

BigInteger在Java中,由CPU原生提供的整型最大范围是64位long型整数。使用long型数据可以直接通过CPU指令进行计算,速度非常快。如果我们使用的整数范围超过了long,那么我们就只能使用软件模拟一个大整数。java.math.BigInteger就是用来表示任意大小的整数。BigInteger内部用一个int[]数组来模拟一个非常大的整数:import java.math.BigInteger;public class Main { public static void

2020-09-27 20:19:15 772

原创 Java核心类(3 - 枚举类)

枚举类枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片段,而且全部都以类型安全的形式来表示。所有的枚举都继承自java.lang.Enum类,又由于Java不支持多继承,所以枚举对象不能再继承其他类(但是可以实现interface)。enum可以让编译器自动检查某个值是否在枚举的集合里,并且,不同用途的枚举需要不同的类型来标记,不能混用,我们可以使用enum来定义枚举类:public class Main { public static void

2020-09-27 17:02:40 148

原创 Java核心类(2 - 包装类型)

包装类型Java的数据类型分为两种:基本数据类型:byte,char,short,int,long,boolean,float,double引用类型:所有的class和interface类型Java核心库为每种基本类型都提供了对应的包装类型:基本类型引用类型booleanjava.lang.Booleanbytejava.lang.Byteshortjava.lang.Shortintjava.lang.Integerlongjava.la

2020-09-26 20:24:44 165

原创 Java核心类(1 - String)

String类在Java中,String是一个引用类型,它本身也是一个class。但是,Java编译器对String有特殊处理,即可以直接用"..."来表示一个字符串:String s = "HelloWorld!";实际上,字符串在String内部是通过一个char[]数组表示的,因此下列写法也是正确的:String s = new String(new char[]{'H','w','l','l','o','!'});Java字符串一个重要特点就是字符串不可变。这种不可变是通过内部的pri

2020-09-26 16:15:03 84

原创 linux学习随笔(进程,持续更新...)

kill命令详解命令格式:kill [参数] [进程号]命令功能:发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果仍然无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。命令参数:-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称-a 当处理当前进程时,不限制命令名和进

2020-09-24 19:25:28 53

原创 Java面向对象基础(8-static和final)

static关键字作用:在没有创建对象的情况下进行调用(方法/字段)。静态字段静态字段和非静态字段的区别:静态字段被所有的对象所共享,在内存中只有一个副本,当且仅当类初次加载时会被初始化。非静态字段是对象所拥有的,在创建对象时会被初始化,存在多个副本,各个对象拥有的副本互不影响。public class Main { public static void main(String[] args) { System.out.println(Person.name);

2020-09-24 16:14:13 86

原创 Java面向对象基础(7-接口)

接口抽象方法的本质是定义接口规范:即规定上层接口规范,让子类去继承实现抽象方法。接口定义:如果一个类中没有字段,并且所有方法都是抽象方法,那么这个类可以改写成接口interface,如下:abstract class Student{ public abstract void Hello(); public abstract String getName(); public abstract int getAge();}那么这个类就可以改写成接口:interface。J

2020-09-21 20:15:57 205

原创 Java面向对象基础(6-抽象类)

抽象类抽象方法若一个父类中的一个方法仅仅是为了定义方法签名,让子类去覆写,不需要

2020-09-15 15:31:54 102

原创 Java面向对象基础(5-多态)

多态*多态分为两种。一种是之前已经讲过的方法重载,另一种就是现在要讲的方法覆写。方法重载:是同一类中,相同方法名,但不同参数列表,这样的叫做函数重载。方法覆写:子类继承父类,子类若有一个方法的方法签名和返回值和父类完全一致,这就称为方法覆写。举个方法重载的例子:class Student{ private String name; private int age; public void Set(){ this.name="Hong";

2020-09-15 11:17:01 59

原创 Find Integer 解题报告(费马大定理+勾股数)

Problem Descriptionpeople in USSS love math very much, and there is a famous math problem .give you two integers n,a,you are required to find 2 integers b,c such that an+bn=cn.Inputone line contains one integer T;(1≤T≤1000000)next T lines contains two

2020-09-14 21:33:50 136 1

转载 详解Java的自动装箱与拆箱(Autoboxing and unboxing)

一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程1 //自动装箱2 Integer total = 99;3 4 //自动拆箱5 int totalprim = total;简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那么我们需要看看它的执行过程:1 public class Main {2 public stat...

2020-09-14 20:53:14 349

原创 github使用教程(ubuntu)

安装git:$ sudo apt-get install git配置用户和密码$ git config --global user.name "用户名"$ git config --global user.email "邮箱"邮箱是github的注册邮箱此时,home目录下会新建一个.gitconfig文件,用来存用户名和邮箱为github账号添加SSH Keys生成Keys$ ssh-keygen -t rsa -C "github注册邮箱"系统会提示key.

2020-09-14 20:46:29 295

转载 github使用ssh密钥的好处与原因

一直不明白为啥github要使用ssh密钥(可能是我太小白吧)通过阅读别人的blog发现了一个小小的好处,如下:git使用https协议,每次pull, push都要输入密码,相当的烦。使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。大概需要三个步骤:一、本地生成密钥对;二、设置github上的公钥;三、修改git的remote url为git协议。一、生成密钥对。=============大多数 Git 服务器都会选择使用 SSH 公钥来...

2020-09-14 19:57:35 1916

原创 Java面向对象基础(4-继承)

继承继承是面向对象编程中一种非常强大的代码复用机制,即在已有基础上进行功能的拓展。首先我们先看一下没有使用继承的两个类Person类和Student类。class Person { private String name; private int age; public String getName() {...} public void setName(String name) {...} public int getAge() {...} pub

2020-09-13 16:37:40 58

原创 Java面向对象基础(3-方法重载)

方法重载在一个类中,我们可以定义多个方法。如果有一系列方法,他们的功能都是相似的,只有参数有所不同,那么可以将这一组方法叫做同名方法。而这种方法名相同,但是各自的参数不同,称为方法重载(Overload)。方法重载的返回值类型通常是相同的。方法重载的目的:功能类似的方法使用同一名字,更容易记住,因此调用起来更简单。例如:public class Main { public static void main(String[] args) { Person ming = n

2020-09-13 15:24:46 180

原创 Java面向对象基础(2-构造方法)

构造方法创建实例的同时初始化这个实例的字段。例如:public class Main { public static void main(String[] args) { Person hong = new Person("Hong",14); System.out.println(hong.getName()); //输出Hong System.out.println(hong.getAge()); //输出14 }}class

2020-09-13 15:09:36 87

原创 Java面向对象基础(1-方法)

1.方法定义:是一组为了实现特定功能的代码块的集合。功能:1、 结构化代码将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,即程序的可维护性强。2、减少代码重复一个特定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。3、访问类中私有成员修改、查看类中的私有成员都需要类中的方法来实现,这样可以保证累得封装性良好。定义方法修饰符 方法返回类型 方法名(方法参数列表) { 若干方法语句; return 方法

2020-09-12 20:57:33 91

原创 linux 学习随笔(软件,持续更新...)

命令1.查看版本号$软件名 -v(或-version)查看当前软件版本号2.更新软件$sudo apt-get update 这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在新立得软件包管理器里看到的软件列表,都是通过update命令更新的。相当于更新软件列表。$sudo apt-get upgrade这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。如果你的软

2020-09-11 17:29:02 246

原创 linux学习随笔(文件压缩,持续更新...)

1.gzip压缩文件$gzip 文件名解压缩文件$gzip 文件名 -d$gunzip 文件名选项:-c 将压缩后的文件内容写到标准输出端口,原文件不变。-d 解压缩-f 强制压缩-h 显示有用信息-r 递归压缩目录中的文件,不压缩目录-t 检测压缩文件的完整性-v 在压缩时显示详细信息-number 设定压缩级别。number(1~9)数字越大压缩效率越高,默认为62.bzip2牺牲速度以换取高质量的数据压缩。多数情况下,其用

2020-09-11 17:28:37 116

原创 欧拉回路的判定及求解

欧拉通路的判定有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是入度等于出度。无向图:图连通,有两个奇数度顶点,其余都为偶数度顶点。欧拉回路的判定有向图:图连通,所有顶点入度等于出度。无向图:图连通,所有顶点都是偶数度。struct Edge{ int v,next;}edge[N];int n,m,cnt;int head[10005];int...

2019-11-07 20:50:37 299

原创 RMQ - 求区间最值

RMQRMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1)。概念:RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。预处理设A[i]是要求区间最值的数列,F[i, j]表示从第i...

2019-11-07 19:55:11 159

转载 算法 --- KMP

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本...

2019-09-27 20:41:13 118

转载 STL标准模板库 --- queue及deque

队列与优先队列的总结 ...

2019-09-23 20:01:52 248

转载 STL标准模板库 --- map

标准模板库STL之map ...

2019-09-23 19:49:38 126

转载 STL标准模板库 --- set

原 c++ set集合的使用方法详解 ...

2019-09-21 11:40:38 75

转载 STL标准模板库 --- vector

原 STL常用函数总结-vector ...

2019-09-21 11:36:52 74

转载 STL标准模板库 --- list

原 C++list的使用总结及常用list操作 ...

2019-09-21 11:34:24 130

转载 LCA最近公共祖先

LCA 最近公共祖先Tarjan(离线)算法的基本思路及其算法实现                              小广告:METO CODE 安溪一中信息学在线评测系统(OJ)      //由于这是第一篇博客..有点瑕疵...

2019-09-16 20:09:52 99

转载 二分图-匈牙利算法

原 趣写算法系列之--匈牙利算法 ...

2019-08-18 10:27:39 59

转载 乘法逆元详解【费马小定理+扩展欧几里得算法】

原 乘法逆元详解【费马小定理+扩展欧几里得算法】 ...

2019-08-15 09:14:36 135

转载 小数化分数

三种情况:1.有限小数:小数点后面的数除以10n (n为小数位数)。2.纯循环小数(类似0.44444…):循环节除以(10n-1) (n为小数位数)。3.非纯循环小数(类似0.32565656…):分子=不循环部分和循环部分连起来-不循环部分,分母=99… (循环位数) 00… (不循环位数)。...

2019-03-15 12:09:41 844

空空如也

空空如也

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

TA关注的人

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