摘要: 链接:https://codeforces.com/problemset/problem/1400/E 来源:Codeforces 思路:给你一个数组,现在你可以进行两种操作,操作1:将一段没有 0 的区间进行减一的操作,操作2:将 i 位置上的元素归零。最终问:将这个数组的全部元素归零后操作的最少 阅读全文
posted @ 2020-08-27 13:01 菜鸭丶 阅读(463) 评论(1) 推荐(1) 编辑
摘要: 主要用于文件和目录的创建、删除和查询等操作,Java 把电脑中的文件封装成了 File 类,在编写代码的时候我们可以使用 File 类来对文件或者文件夹进行操作。 分隔符 public class Main { public static void main(String[] args) { //路 阅读全文
posted @ 2020-08-27 13:00 菜鸭丶 阅读(114) 评论(0) 推荐(0) 编辑
摘要: I/O 概述 I/O流:对硬盘文件进行读写,输入流就是将硬盘文件的内容读入到内存中使用,输出流就是将内存中的数据读入到硬盘文件中,以便于长期保存。文件是由字符或者字节构成的,所以可以进行写入和读取。所有的文件数据都是以二进制数字的形式保存,都是一个一个的字节,在传输的时候也是以二进制的形式进行数据的 阅读全文
posted @ 2020-08-27 12:58 菜鸭丶 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/6874 来源:nowcoder A 巨木之森(树的直径) 思路:\(n\) 块区域共有 \(n - 1\) 条道路,保证 \(n\) 块区域联通,我们可以想到如果我们从某一块区域 \(x\) 出发,现在我们走到了最后一块 阅读全文
posted @ 2020-08-27 12:57 菜鸭丶 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 概述 反射是一种强大的工具,可以用来编写能够动态操纵 Java 代码的程序,通过反射机制我们可以操作字节码文件。反射机制将类的各个部分封装成了对象,在程序运行的过程中我们可以操作这些对象(在操作一个类对象的时候我们可以操作其方法成员变量等)。这样可以使得程序解耦,提高了程序的可扩展性。 Java 代 阅读全文
posted @ 2020-08-27 12:56 菜鸭丶 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Map 继承结构图 Map Map 集合为双列集合,集合中不能包含重复的键,但是值可以重复,并且每一个键只能对应一个值。 常用方法 public class Main { public static void main(String[] args) { Map<Integer, String> ma 阅读全文
posted @ 2020-08-27 12:54 菜鸭丶 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 集合是一种容器,可以用来存储对象。在数组中存储对象是长度一旦确定是不能改变的,但是集合的长度是可变的。 集合中存储的都是 Java 对象的引用,集合不能存储基本数据类型。 集合继承结构图 Collection 单列集合类的父接口 public class Main { public static v 阅读全文
posted @ 2020-08-27 12:53 菜鸭丶 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 程序在执行的过程中出现非正常的情况,最终导致 JVM 非正常停止。异常在 Java 中以类的形式存在,每一个异常类都可以创建对象,在产生异常的时候就是创建了一个异常类的对象,然后将异常对象抛出。 public class Main { public static void main(String[] 阅读全文
posted @ 2020-08-27 12:52 菜鸭丶 阅读(178) 评论(0) 推荐(0) 编辑
摘要: String 字符串一旦创建就不可改变 带有双引号的字符串在字符串常量池中存储 字符串比较时需要使用 equals 方法,String 类重写了 equals 和 toString 方法 创建字符串 public class Main { public static void main(String 阅读全文
posted @ 2020-08-27 12:51 菜鸭丶 阅读(168) 评论(0) 推荐(0) 编辑
摘要: BigInteger import java.math.BigInteger; public class Main { public static void main(String[] args) { //加 BigInteger ans = BigInteger.ONE; for (int i = 阅读全文
posted @ 2020-08-27 12:50 菜鸭丶 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Object Object 类是 Java 中所有类的超类,Java 中每个类都是由 Object 这个类拓展而来的。可以使用 Object 类型的变量引用任何类型的对象。 Object是类层次结构的根类,每个类都是使用 Object 类作为超类。Object 可以对 toString() 和 eq 阅读全文
posted @ 2020-08-27 12:49 菜鸭丶 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 继承 子类可以继承父类的方法,属性等;子类也可以写自己的方法。 父类更加通用,子类更加具体 类只能获得父类中非 private 属性,如果要继承就来提供 set 和 get 方法,私有的方法是没有办法继承的 Java 中只能做单继承,不能一次性继承两个类,但是支持多级继承。 在类的继承结构中,如果创 阅读全文
posted @ 2020-08-27 12:29 菜鸭丶 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 面向对象 面向对象特点:封装性、继承性、多态性、(抽象性) 面向对象:不关心具体的步骤,具体的步骤已经由某一个对象完成,考虑哪一个对象完成了这个事情,找到这个对象来做某一件事情。 面向过程:需要考虑具体的过程,要自己考虑每一步的实现过程,考虑怎么去做。 类和对象:创建类,设计类的属性;创建类的对象; 阅读全文
posted @ 2020-08-27 12:28 菜鸭丶 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Java语言特性 简单性:Java 中真正操作内存的是 Java 虚拟机,Java 虚拟机通过运行 Java 程序来操作内存,而 C++ 都是通过指针来操作内存,Java 程序中不能直接操作指针,所以在 Java 中不容易导致内存泄漏,所以变得简单。 Java 是完全面向的对象的语言:万物皆对象 健 阅读全文
posted @ 2020-08-27 12:26 菜鸭丶 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 单链表的插入 尾插法:使用一个临时结点直接找到最后一个结点 \(temp\),然后 \(temp.next = newNode, newNode.next = null\) 在中间结点插入一个结点:找到要插入结点的位置的前一个位置的结点 \(temp\),让待插入结点的 \(next\) 域指向 \ 阅读全文
posted @ 2020-08-27 12:24 菜鸭丶 阅读(1473) 评论(0) 推荐(0) 编辑