java
bird-2
萌新在读
展开
-
截止日期JAVA版
题目描述 n个题目,每个题目都有相应的分数和截止日期,各个题目的分数和截止日期可能并不相同,假设每个题目都需要一天的时间去完成,这期间不能完成其他题目,请你设计算法指定题目的完成计划,从而使得分最大 题解 我们用结构体去保存这组数据,一种思路是:向后搜索,看一下后面有没有跟当前题目的截止日期一样的,如果有,我们就比较一下谁更大,一直到最后,之后从第二个继续开始搜索,但是这种方法非常慢,时间复杂度是O(n*n)每次都要查找。想到的另一种思路是将截止日期一样的聚在一起,也就是放在一个块里,将分数进行排序,选择截原创 2021-05-26 14:50:59 · 657 阅读 · 0 评论 -
期末测试JAVA版
问题描述:n个问题,要用k个问题组成出卷方式,每道算法题目都有一定的难度等级,假设一次测验中的所有k道题目都有不同的难度等级,那么这次期末测试就是有区分度的,计算可以设计有多少种区分度的期末试卷? 题解 因为题目中不会凑巧都是不同梯度的难题,可能会存在两个或者三个(以上)梯度的题目,考虑如何去解决这个问题? 假想把这组题目分块,将相同梯度的问题划分到一个块中,查询,遇到了相同的梯度难度的问题就+1,如果没查询到就是1(表示这个块中只有这一个梯度难度的问题),最后计算出Cnk。 解决的问题 1:如何统计每个块原创 2021-05-26 14:46:58 · 59 阅读 · 0 评论 -
继承
继承 可以基于已存在的类构造一个新类,继承已存在的类就是复用(继承)这些类的方法和域,并在此基础上,添加一些新的方法和域,以满足新的要求。 在JAVA中所有的继承都是公有继承,而没有C++中的私有继承和保护继承 ...原创 2021-05-29 17:05:52 · 41 阅读 · 0 评论 -
注释
注释 方法注释: 每一个方法注释必须放在所描述的方法之前。 @param变量描述:对当前方法的参数部分描述 @return描述:对当前方法添加return返回部分,这个描述可以跨越多行,并可以用HTML 描述 @throws类描述:添加一个注释,用于表示有可能抛出异常 通用注释: @author姓名:产生一个作者条目,可以使用多个@author标记,每一个标记对应一个作者 @version文本:产生一个版本条目,这个文本是对当前文本的任何描述。 @since文本:产生一个始于条目,这里的text可以是对引入原创 2021-05-26 16:54:25 · 45 阅读 · 0 评论 -
接口
接口 不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。 比如: Arrays类重点 sort方法对对象数组进行排序,前提是所属的类必须实现Comparable接口 public interface Comparable { int compareTo(Object other) ; } 在调用x.compareTo(y)的时候,这个方法必须确实比较两个对象的内容,并返回比较多结果,当x小于y时,返回负数,当x大于y时,返回一个正数,当两者相等时,返回0. 也就是说任何实现C原创 2021-05-31 17:18:55 · 56 阅读 · 0 评论 -
数组
定义 int [] a = new imy [100]; 数组长度不要求是常量,new int[n]会创建一个长度为n的数组 for each循环 JAVA中的一种功能很强的循环结构,可以用来依次处理数组中的每一个元素(其他类型集合亦可)而不必为指定下标值而分心。例如: for(int element : a) System.out.println(element); 等同于 for(int i = 0; i < a.length; i++) { System.out.println(a[i]);原创 2021-05-24 15:00:43 · 60 阅读 · 0 评论 -
文件的输入输出
对文件进行读取,需要用一个File对象构造一个Scanner对象 Scanner in = new Scanner(Path.get("myfile.txt")); 如果文件名中包含反斜杠符号,就要记住在每一个反斜杠之前再加一个额外反斜杠:c:\mydirectory\myfile.txt 要想写入文件,就需要构造一个PrintWriter对象,在构造器中只需要提供文件名: PrintWriter out = new PrintWriter("myfile.txt") ; 如果文件不存在,创建该文件原创 2021-05-24 14:47:04 · 69 阅读 · 0 评论 -
字符串
子串 String类的substring()方法可以从一个较大的字符串中提取出一个子串 String greeting = "Hello!" ; String s = greeting.substring(0,3) ; 最后输出结果是Hel,这里要复制位置是0,1,2不包括3 拼接 JAVA语言允许使用+号连接两个字符串,当将一个字符串和一个非字符串进行连接时,后者被转换成字符串 String类中没有提供修改字符串的方法,但是JAVA中实现这项操作非常容易。 首先是提取需要的字符,然后再拼接上替换的字符:原创 2021-05-24 14:34:06 · 50 阅读 · 0 评论