![](https://img-blog.csdnimg.cn/20200703003311347.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法第四版
文章平均质量分 81
《算法(第4版)》是一本美 Robert Sedgewick / 美Kevin Wayne编写,由人民邮电出版社在2012年出版的书籍。
明快de玄米61
不积跬步,无以至千里;不积小流,无以成江海
展开
-
编写一个Point2D的用例,从命令行接收一个正数N。在单位正方形中生成N个随机点,然后计算两点之间的最近距离。
代码:public class Test { public static void main(String[] args) { // 从命令行接收一个整数 // int N = Integer.parseInt(args[0]); // 为方便计算,直接把N定义为10,不从命令行接收参数 int N = 10; // 创建Point2D数组存储相关数据 Point2D[] array = new转载 2020-08-15 11:02:02 · 513 阅读 · 0 评论 -
随机打印数组中的全部元素
代码:public class Test { public static void main(String[] args) { // 测试数据 int[] arr = {1, 4, 5, 6, 7, 3}; // 把数组中的数据添加到集合中 List<Integer> list = new ArrayList<>(); for (int i = 0; i &l原创 2020-08-05 22:34:44 · 613 阅读 · 0 评论 -
模拟掷骰子。以下代码能够计算每种两个骰子之和的准确概率分布
题目:模拟掷骰子。以下代码能够计算每种两个骰子之和的准确概率分布。int SIDES = 6;double[] dist = new double[2 * SIDES + 1];for (int i = 1; i <= SIDES; i++) for (int j = 1; j <= SIDES; j++) dist[i + j] += 1.0;for (int k = 2; k <= 2 * SIDES; k++) dist[k] /= 36.原创 2020-08-05 22:22:45 · 3494 阅读 · 0 评论 -
java中集合和数组的相互转换
代码:public class Test { public static void main(String[] args) { Integer[] a = {1, 2, 3}; // 数组转成集合 List<Integer> list = Arrays.asList(a); System.out.println("输出集合中的元素:"); for (Integer i : list) {原创 2020-08-05 20:56:29 · 2094 阅读 · 0 评论 -
计算矩阵和向量之积,以及向量和矩阵之积
代码:public class Test { public static void main(String[] args) { // 测试数据 double[][] a = {{1.0, 2.0}, {3.0, 4.0}}; double[] b = {1.0, 2.0}; double[] arr1 = mult(a, b); System.out.println("计算矩阵和向量之积:"); f原创 2020-08-05 20:18:12 · 930 阅读 · 0 评论 -
编写一段程序,创建一个NXN的布尔数组a[][]。其中当i和j互斥时(没有相同因子),a[i][j]为true,否则为false。
题目:编写一段程序,创建一个NXN的布尔数组a[][]。其中当i和j互斥时(没有相同因子),a[i][j]为true,否则为false。解释:看到题目,我首先想到的是什么是互质,通过在百度百科——互质的查询,才知道两个整数的最大公约数是1的时候就说明两个整数互质,对于正整数我是理解的,但是对于0和其他整数是否互质我是存在疑惑的,网友的说法也是说法不一,通过仔细阅读百度百科对于互质的解释,我发现了一句话:“1和-1与所有整数互素,而且它们是唯一与0互素的整数”,说明0和1是互质的(其中的互素就是互质),原创 2020-08-05 17:52:10 · 328 阅读 · 0 评论 -
Math.log()是以常数e为底数的对数
说明:我遇到一个问题,问题是这样说的:“编写一个递归的静态方法计算ln(N!)的值”,那刨除N!的话,就是让我计算以常数e为底数的对数,而Math.log(M)就可以计算以常数e为底数的的对数,当然如果想计算log2M的值,那就可以使用Math.log(M)/Math.log(2)来计算代码实现:public class Node { public static void main(String[] args) { Scanner sc = new Scanner(Syst原创 2020-08-05 09:49:26 · 4949 阅读 · 0 评论 -
编写一个静态方法lg(),接收一个整型参数N,返回不大于log2N(以2为底)的最大整数。不要使用Math库。
题目:编写一个静态方法lg(),接收一个整型参数N,返回不大于log2N的最大整数。不要使用Math库。代码:public class Node { public static void main(String[] args) { int value = 10; System.out.printf("结果是:%s\n", lg(value)); } private static int lg(int n) { int num原创 2020-08-04 22:33:23 · 229 阅读 · 0 评论 -
编写一个静态方法histogram(),接收一个整型数组a[]和一个整数M为参数并返回一个大小为M 的数组,其中第i个元素的值为整数i在参数数组中出现的次数。如果a[]中的值均在0在M-1之间
题目:编写一个静态方法histogram(),接收一个整型数组a[]和一个整数M为参数并返回一个大小为M 的数组,其中第i个元素的值为整数i在参数数组中出现的次数。如果a[]中的值均在0在M-1之间,返回数组中所有元素之和应该和a.length相等。代码:public class Test { public static void main(String[] args) { int[] a = {1, 2, 2, 2, 1, 1, 3}; int M = 7原创 2020-08-04 21:58:36 · 528 阅读 · 0 评论 -
两个char类型的字符相加结果是int类型的整数
程序验证:public class Test { public static void main(String[] args) { System.out.println('a'+'b'); }}结果:195结论:当对byte、short、char类型进行混合运算时,最终结果一定是整型,当然你也可以把它们都转换成int类型的,之后在进行混合运算当多种数据类型进行混合运算的时候,最后的数据类型一定是它们中取值最大的那个数据类型,如果里面有字符串的话,那最后的数据原创 2020-08-04 20:24:09 · 4091 阅读 · 0 评论