java实现合并多个线段,计算多个线段的实际覆盖长度_java 多条线段合并为一条线-程序员宅基地

技术标签: 算法  

算法: 计算多个线段实际覆盖的长度。
例如:
线段组1:{ {1, 2}, {2, 3}, {3, 5}, {4, 10.5}, {11, 13}}的长度为
[1,10.5],[11,13]的长度为11.5;

线段组2:{ {1, 5}, {4, 5}, {0.7, 6}, {0.9, 1.5}}的长度为[0.7,6]的长度为5.3;

思路分析:
1.由题意知道: 要求实际长度,凡是两个线段有重叠的地方我们都需要合并
2.这里采用双重遍历分别拿数组的第1个值跟第二个比较,拿线段组1举例,
第一次是用{1,2},{2,3}比较,发现重叠线段,合并成{1,3}。此时线段组1{ {1, 3}, {3, 5}, {4, 10.5}, {11, 13}}
3.重置循环,第二次拿{1, 3}, {3, 5}比较,合并成{1,5}。以此类推,最终合并后的线段组1{ {1,10.5},{11,13}}
4.遍历线段组1并累加求和输出结果: 11.5

那么代码片如下:

   public static double coverageLength(double[][] nums) {
   
    
        List<double[]> list = new LinkedList<>();
        for (int i = 0; i < nums.length; i++) {
   
    
            list.add(nums[i]);
        }

        for (int i = 0; i < list.size(); i++) {
   
    
            for (int j = i + 1; j < list.size(); j++
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41788067/article/details/104059001

智能推荐

unity代码生成圆柱网格并使用曲面细分顶点_unity编写曲面mesh-程序员宅基地

文章浏览阅读442次,点赞9次,收藏11次。unity代码生成圆柱网格_unity编写曲面mesh

Vue2使用video标签 + hls.js实现播放m3u8视频流_vue2中 播放.m3u8-程序员宅基地

文章浏览阅读573次,点赞6次,收藏3次。使用element的el-dialog对话框组件+video标签 + hls.js_vue2中 播放.m3u8

BurpSuite2021.5.1下载与使用_burp2021.5.1中文版下载-程序员宅基地

文章浏览阅读1.2w次。下载地址 -》页面如下,非常漂亮啊一. 安装1. 此个版本需要jdk16的环境jdk16下载地址:https://download.oracle.com/otn-pub/java/jdk/16.0.1+9/7147401fd7354114ac51ef3e1328291f/jdk-16.0.1_windows-x64_bin.exe?AuthParam=1619104873_4842fcf26faba49f0f3fc4042015b5e0下载后一路下一步安装,然后再配环境变量就行2_burp2021.5.1中文版下载

TSP问题-程序员宅基地

文章浏览阅读1.7w次,点赞17次,收藏86次。前言TSP问题是广为人知的组合优化问题,它易于描述,但是难以求解。基于TSP问题的特性,决定使用通过TSP问题来学习各类启发算法,比较不同启发算法在旅行商问题上的表现。问题TSP问题可以描述为:现有一些节点,节点和节点之间均可相连形成边,节点之间的边存在距离,需要找到一个遍历方案先后访问所有的点,使的遍历的总距离最短。模型旅行商问题可以建模为一个纯整数规划模型:目标函数最小化总距离,约束1-2保证每个节点都能进出一次,约束3保证不会出现多个圈,约束4-5保证便利顺序属于0~n-1,约束6-_tsp问题

OpenCV从入门到放弃(四):HighGui组件细讲_highgui.imshow-程序员宅基地

文章浏览阅读1.3w次,点赞5次,收藏19次。Opencv中图片读取显示写入细节._highgui.imshow

node 17_export n0de_0 ptions=:-openssl-legacy-provider;-程序员宅基地

文章浏览阅读468次。export NODE_OPTIONS=--openssl-legacy-provider_export n0de_0 ptions=:-openssl-legacy-provider;

随便推点

2023高频前端面试题(含答案)-程序员宅基地

文章浏览阅读10w+次,点赞342次,收藏3.7k次。一、简单页面1、CSS选择器样式优先级2、CSS实现三列布局(左右固定宽度,中间自适应)(1)CSS浮动第一个float:left,第二个float:right,第三个设置margin-left和margin-right(2)绝对定位法第一个定位到left,第二个定位到right,第三个设置margin-left和margin-right(3)flex布局.left{ width:200px; 或者 flex:0 0 200px;}.right{ width:200px;_前端面试题

Robomongo连接远程MongoDB数据库_robomongo连接mongodb-程序员宅基地

文章浏览阅读3.5k次。修改远程服务器上mongodb配置打开/etc/mongodb.conf配置文件将bind_ip注释起来,如:#bind_ip = 127.0.0.1创建管理员用户mongouse admindb.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})// _robomongo连接mongodb

数据结构浙江大学 全部思考题+每周练习答案(已完结)_散列查找 何钦铭问题答案-程序员宅基地

文章浏览阅读3.7w次,点赞154次,收藏781次。MOOC上浙江大学陈越和何钦铭老师的数据结构课程很不错,通俗易懂,每周习题还都有点挑战性,这里打算将所有的题进行一下汇总。_散列查找 何钦铭问题答案

LaTeX最全总结_latex csdn-程序员宅基地

文章浏览阅读875次,点赞4次,收藏8次。LaTeX的语法进行超全总结_latex csdn

山景BP1048 烧录器烧写_bp1048b2烧录程序下载-程序员宅基地

文章浏览阅读450次。山景BP1048 烧录器烧写_bp1048b2烧录程序下载

OpenCV-Python中的图像处理-图像直方图_pyhon opencv 获取图像直方图-程序员宅基地

文章浏览阅读1.3k次。所 以 对 于 一 维 直 方 图, 我 们 最 好 使 用 这 个函 >数。使 用 np.bincount 时 别 忘 了 设 置 minlength=256。#别忘了中括号 [img],[0],None,[256],[0,256],只有 mask 没有中括号。Numpy 还 有 一 个 函 数 np.bincount(), 它 的 运 行 速 度 是。hist 是一个 256x1 的数组,每一个值代表了与次灰度值对应的像素点数目。#img.ravel() 将图像转成一维数组,这里没有中括号。_pyhon opencv 获取图像直方图

推荐文章

热门文章

相关标签