时间计算
LocalDate(年月日)
LocalDateTime(年月日时分秒)
计算两个日期之间相差多少天
//计算2002.6.20到现在过去了几天
long day = ChronoUnit.DAYS.between(LocalDate.of(2002, 6, 20), LocalDate.now());
System.out.println(day);
计算当前日期多少年前(多少年后)是星期几,这个月的几号
//创建指定时间对象
LocalDateTime time = LocalDateTime.of(2022, 3, 30, 11, 11, 11);
//创建1年1月1日的类
Period period = Period.of(1, 1, 1);
//得到1年1月1日后的时间对象
LocalDateTime time1 = time.plus(period);
//获取当前日期是这个月的第几号
int dayOfMonth = time1.getDayOfMonth();
System.out.println(dayOfMonth);
int value = time1.getDayOfWeek().getValue();
大数计算
BigDecimal计算小数,BigInteger计算整数,这两个都是类,进行计算时要调用对应的方法
常用初始化
BigInteger b0=BigInteger.ZERO;
BigInteger b1=BigInteger.ONE;
常用方法
//类型转换
int a=3;
BigInteger b=BigInteger.valueOf(a);
//加
b0=b0.add(b1);
//减
b0=b0.subtract(b1);
//乘
b0=b0.multiply(b1);
//除
b0=b0.divide(b1);
//模除
b0=b0.mod(b1);
//求余
b0=b0.remainder(b1);
//平方(需>=0)
b0=b0.pow(1);
//绝对值
b0=b0.abs();
//相反数
b0=b0.negate();
求最大公约数,最小公倍数,因数
最大公约,最小公倍,公因数,质因数_whlie(true){learn}的博客-CSDN博客
进制转换
java中的进制转换_whlie(true){learn}的博客-CSDN博客
计算机基础
IP地址
ASCII 码
1秒=1000毫秒,1毫秒=1000微秒
1GB=1024MB,1MB=1024KB,1KB=1024B,1B=8bit
数据结构
节点数为n的无向图边数:n * (n-1) /2,有向图:n * (n-1)
构造哈夫曼树
最小生成树
非空二叉树上的叶子结点数(度为0的节点,称为“叶子结点”)等于度为2的结点数加1,即n0=n2+1
设度为0、1、2的结点个数分别为、
、
,二叉树的节点总数 n=n0+n1+n2=n0+n1+(n0-1)。
二叉树的总结点个数为:n=n0+n1+n2=n0+n1+(n0-1)
完全二叉树的深度:long2(N)+1
附:目前做过的几套题的总结