编写一个Interval2D的用例,从命令行接受参数N、min和max。生成N个随机的2D间隔,其宽度和高均匀地分布在单位正方形中的min和max之间。用StdDraw画出它们并打印出相交的间隔对的数量以及有包含关系的间隔对数量。

/*** Description : * Author      : mn@furzoom.com* Date        : Sep 26, 2016 3:26:18 PM* Copyright (c) 2013-2016, http://furzoom.com All Rights Reserved.*/
package com.furzoom.lab.algs.ch102;import edu.princeton.cs.algs4.Interval1D;
import edu.princeton.cs.algs4.Interval2D;
import edu.princeton.cs.algs4.StdRandom;/*** ClassName    : E10203 <br>* Function     : TODO ADD FUNCTION. <br>* date         : Sep 26, 2016 3:26:18 PM <br>* * @version */
public class E10203
{public static double min(double d1, double d2){return d1 < d2 ? d1 : d2;}public static double max(double d1, double d2){return d1 > d2 ? d1 : d2;}public static void main(String[] args){int n = Integer.parseInt(args[0]);double min = Double.parseDouble(args[1]);double max = Double.parseDouble(args[2]);Interval2D[] intervals = new Interval2D[n];for (int i = 0; i < n; i++){double d1 = StdRandom.uniform(min, max);double d2 = StdRandom.uniform(min, max);double d3 = StdRandom.uniform(min, max);double d4 = StdRandom.uniform(min, max);intervals[i] = new Interval2D(new Interval1D(min(d1, d2), max(d1, d2)),new Interval1D(min(d3, d4), max(d3, d4)));}// draw all Interval2Dfor (int i = 0; i < n; i++){intervals[i].draw();}// int countIntersects = 0;int countContains = 0;for (int i = 0; i < n - 1; i++){for (int j = i + 1; j < n; j++){if (intervals[i].intersects(intervals[j])){countIntersects++;}
//                if (intervals[i].contains(intervals[j]))
//                {
//
//                }}}System.out.println(countIntersects);}
}

结果如下:

相交的数量为5.

算法-第四版-1.2 数据抽象-习题索引汇总

算法-第四版习题索引汇总

算法-第四版-练习1.2.3解答相关推荐

  1. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  2. 0202插入删除-算法第四版红黑树-红黑树-数据结构和算法(Java)

    文章目录 4 插入 4.1 序 4.2 向单个2-结点插入新键 4.3 向树底部的2-结点插入新键 4.4 向一棵双键树(3-结点)中插入新键 4.5 颜色调整 4.6 根结点总是黑色 4.7 向树底 ...

  3. 算法第四版扔鸡蛋问题

    本题来源于算法第四版1.4.25.1.4.26. 同时好像记得看过的腾讯面经里也问到过类似题目,因此觉得有必要仔细做一下. 题目如下: 一幢 100 层的大楼,给你两枚鸡蛋.假设,在第 n 层扔下鸡蛋 ...

  4. 算法第四版- 3.1

    算法第四版- 3.1 文章目录 **算法第四版- 3.1** 1.二分查找 1)LC704二分查找 2)LC744二分查找 3)LC33搜索旋转排序数组 4)搜索旋转数组进阶 2.跳表 1.二分查找 ...

  5. 《算法第四版》官方jar包中In的readStrings()方法不建议使用的解决办法

    起因:在学习<算法第四版>过程中总是遇到一些算法之外的小问题,比如本书中所需要下载的库.今天在学习排序那一节时,发现排序框架main()方法中的In的readStrings()方法不能使用 ...

  6. 算法第四版课后习题答案 西安电子科技大学 计算机学院 算法课

    来源于西电计算机15级学长学姐,算法第四版课后习题答案 西安电子科技大学 计算机学院   算法课. 再推荐一个好的看答案的地方,每一题都有,只是还没有更新完成. 地址:https://alg4.ike ...

  7. WordNet 普林斯顿 算法第四版

    普林斯顿 算法第四版 本文的代码以及之前的作业代码可通过一下github链接获得 https://github.com/Changjing-Liu/algorithm_lab 文章目录 普林斯顿 算法 ...

  8. Algorithms, 4th Edition(算法-第四版)源码使用系统配置

    关于-Algorithms, 4th Edition (算法-第四版)源代码在本地机器的运行配置. 其实关于这个教程的使用已经在 Java Algorithms and Clients 页面中写出,并 ...

  9. BoggleSolver 普林斯顿 算法第四版

    BoggleSolver 普林斯顿 算法第四版 文章目录 BoggleSolver 普林斯顿 算法第四版 一. 引言 1. Boggle 2. 计分 3. Qu特殊情况 4. 任务要求 二.分析 1. ...

  10. SeamCarver 普林斯顿 算法第四版

    算法第四版 文章目录 算法第四版 引言 一.SeamCarver.java 1.解析 2.代码 总结 引言 作业要求链接: https://coursera.cs.princeton.edu/algs ...

最新文章

  1. win10系统winsxs文件夹该如何删除
  2. cg word List5
  3. 回文_Manacher算法
  4. 关于AM335X移植SDIO WIFI的简易教程(转)
  5. MUI框架 按钮点击响应不好的问题解决办法
  6. 程序员如何自制酒店 Wi-Fi?
  7. java设计模式刘伟模拟题答案,灵魂拷问
  8. node.js stream
  9. 彻底搞懂“红黑树”......
  10. 办公室计算机知识考试试题,办公室人员电脑操作基本技能方面测试题--绝对经典...
  11. layui模板引擎文档 - layui.laytpl的具体使用
  12. 112-smart-toc-2021-09-09
  13. Bluetooth 蓝牙介绍(三):低功耗蓝牙BLE空口协议Ⅰ
  14. Mongodb本机部署副本集
  15. 圆为什么规定一定是360度_圆为什么是360度?不一样的趣味知识,让你痴迷数学...
  16. 【树莓派 有趣实践】寻找小项目
  17. 2021-09-02 集合基础知识
  18. 搜索官方的一篇相关性文章分享
  19. 百度关于EMP的探索:落地生产可用的微前端架构
  20. C语言-外部关键字extern

热门文章

  1. OpenEmu:一个让你在Mac上爽快体验任天堂的模拟器
  2. 面向对象的数据库db4o: 初识db4o
  3. 英语学习/词典app行业top5简要分析
  4. 系统集成项目-管理工程师教程·一
  5. 常用正则表达式大全(Xss防范、sql注入、手机邮箱验证等等,持续补充~)
  6. VS开发中,常见编译问题解决方案
  7. 软件测试如何制作简历?
  8. PPT 动画模板使用技巧
  9. FishC《零基础学习python》笔记-- 第014讲、15讲、16讲:字符串:各种奇葩的内置方法、格式化;序列
  10. 学习C语言编程,推荐你看这6本书