File类System.getProperty(“user.dir”) 获取当前所在项目的目录createNewFile 创建文件mkdir 创建一个目录,中间缺失目录,停止创建mkdirs 创建多个目录,中间缺失目录,给你补上listFiles 返回所有子文件和子路径到一个file数组list 返回字符串数组,包含目录中的文件和目录的路径名getAbsolutePath() 获取绝对路径getpath() 获取相对路径delete() 删除文件
exists 是否存在isDirectory 是否是目录isFile 是否是文件new Date(lastModified()) 最后修改时间 long类型用Date封装成对象length 文件大小getName 文件名getPath 目录路径
DCL语言grant 权限/角色 to 用户grant后面加需要授予的权限/角色,to后面加需要被授予权限的用户create session 登录权限create table 表权限create sequence 序列权限create view 视图权限ceeate procedure 创建存储过程权限unlimited tablespace 使用永久表空间权限撤销权限revoke 权限/角色 from 用户
create role name 创建角色 角色名叫name执行计划sql语句执行过程,怎么执行的,称为执行计划执行顺序缩进最多的最先执行,缩进相同的上面的先执行
DDL语言(数据定义语言)create 创建数据库对象drop 删除数据库对象alter 修改数据库对象rename 修改数据库对象名称
alter biao biao1biao 表示你要对表操作biao1 表示你要对biao1这个表操作add 添加modify 修改drop column 删除
modify(列名,类型,默认值)rename 列名 to 新列名
trun ...
JDBC技术
常用://注册驱动Class.forName(“com.Mysql.jdbc.Driver”);//获取链接Connection connection=DriverManager.getConnection(url,user,password); url,user,password jdbc:数据库厂商名://ip/端口/数据库名称,账号,密码//编写sql语句String sql=”select * from biao1 where user=? and password=?”;//创建PreparedStatementPreparedStatement ps=connection.PreparedStatement(sql);//占位符赋值ps.SetObject(1,user);ps.SetObject(2,password);//发送sql语句,并 ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114import java.util.*;import java.io.*;//lcapublic class Main { static int N=(int)(1e5+10); static ArrayList<Integer> node[]; public static void main(String args[]) { int n=in.nextInt(); node=new ArrayList[n+10]; for(int i=1;i<n;i++) { int ...
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091import java.util.*;import java.io.*;//st表(RMQ问题)public class Main { static int n,a[]; public static void main(String args[]) { n=in.nextInt(); int q=in.nextInt(); a=new int[n+10]; for(int i=1;i<=n;i++) { a[i]=in.nextInt(); } init(n); while(q-->0) { int l=in.nextInt(); int r=in.n ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104import java.util.*;import java.io.*;//Kruskal最小生成树public class Main { public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); PriorityQueue<int[]> node=new PriorityQueue<>((o1,o2)->(o1[2]-o2[2])); for(int i=1;i<=m;i++) { int u=in.ne ...
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586import java.util.*;import java.io.*;//floydpublic class Main { public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); int q=in.nextInt(); long node[][]=new long[n+10][n+10]; for(int i=1;i<=n;i++) { Arrays.fill(node[i],Long.MAX_VALUE); node[i][i]=0; } for(int i=1;i<=m;i++) ...
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697import java.util.*;import java.io.*;//复习spfapublic class Main{ static int n,m,k; static int N=(int)(2e5+10); public static void main(String[] args) { n=in.nextInt(); m=in.nextInt(); //k=in.nextInt(); for(int i=1;i<=m;i++) { int a=in.nextInt(); int b=in.nextInt(); int c=in.nextInt(); a ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899import java.util.*;import java.io.*;//dijpublic class Main { static int N=(int)(1e5+10); public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); ArrayList<int[]> node[]=new ArrayList[N]; for(int i=1;i<=m;i++) { int u=in.nextInt(); int v=in.nextInt(); i ...
KMP算法
KMP核心思路性质:当前字符的前缀长度一定小于等于当前长度,next[i]<=i思路:当前字符的前缀长度初始化为前一个字符的前缀长度(前一个字符已经验证了当前字符以前的前缀)匹配这个前缀长度的前缀末端下一个元素与当前元素是否相等,如果相等,长度加一,如果不等,获取前缀末端的前缀长度继续匹配。
如图
1234567891011121314151617//核心代码static void KMP(String str){ int len=0; next[1]=0; for(int i=2;i<str.length();i++){ while(len>0&&str.charAt(i)!=str.charAt(len+1)){ len=next[len]; } if(str.charAt(i)==str.charAt(len+1)){ len++; } ...