博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
贪心算法实现线段覆盖问题
阅读量:4221 次
发布时间:2019-05-26

本文共 2417 字,大约阅读时间需要 8 分钟。

今天在看贪心算法相关的博客时,看到一篇博主给出的线段覆盖问题并没有实际解决线段相互不能覆盖的问题,所以自己想了一个涵盖线段不能相互覆盖条件的最大长度解答

下面直接贴代码:

import java.util.ArrayList;public class Solution3 {    public void greedySelect(int num, int[] startPoint, int[] endPoint, boolean[] mark) {        int[] len = new int[num];        int totalLength = 0;        int maxTotalLength = 0;        for(int i=0;i
list = new ArrayList<>(); for(int i=0;i
backupList = new ArrayList<>(); for(int b=0;b
= endPoint[backupList.get(0)] || endPoint[k] <= startPoint[backupList.get(0)]) flag = true; else flag = false; } else { for(int m=0;m
= endPoint[backupList.get(m)] && endPoint[k] <= startPoint[backupList.get(m+1)])) flag = true; else flag = false; }else if(m == backupList.size()-1) { if(startPoint[k] >= endPoint[backupList.get(m)]) flag = true; else flag = false; }else { if(startPoint[k] >= endPoint[backupList.get(m)] && endPoint[k] <= startPoint[backupList.get(m+1)]) flag = true; else flag = false; } }else { flag = false; } } } if(flag == true) { totalLength += len[k]; used[k] = len[k]; mark[k] = true; } } if(totalLength > maxTotalLength) maxTotalLength = totalLength; totalLength = 0; for(int a=0;a
list) { int max = 0; int index = 0; for(int i=0;i
max && !list.contains(i)) { max = array[i]; index = i; } } return index; }}main函数:public class Main3 { public static void main(String[] args) { int[] startPoint = { 2,3,4,5,6,7,8,9,10,11}; int[] endPoint = { 3,5,7,6,9,8,12,10,13,15}; int len = startPoint.length; boolean[] mark = new boolean[len]; for(int i=0;i

转载地址:http://yahmi.baihongyu.com/

你可能感兴趣的文章
CSS之Multi-columns的column-gap和column-rule
查看>>
CSS之Multi-columns的跨列
查看>>
CSS之浮动(一)
查看>>
CSS之浮动(二)
查看>>
AtomicInteger源码解析
查看>>
CopyOnWriteArraySet源码学习
查看>>
Openfiler 配置 NFS 示例
查看>>
Oracle 11.2.0.1 RAC GRID 无法启动 : Oracle High Availability Services startup failed
查看>>
Oracle 18c 单实例安装手册 详细截图版
查看>>
Oracle Linux 6.1 + Oracle 11.2.0.1 RAC + RAW 安装文档
查看>>
Oracle 11g 新特性 -- Online Patching (Hot Patching 热补丁)说明
查看>>
Oracle 11g 新特性 -- ASM 增强 说明
查看>>
Oracle 11g 新特性 -- Database Replay (重演) 说明
查看>>
Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
查看>>
Oracle 11g 新特性 -- RMAN Data Recovery Advisor(DRA) 说明
查看>>
CSDN博客之星 投票说明
查看>>
Oracle wallet 配置 说明
查看>>
Oracle smon_scn_time 表 说明
查看>>
VBox fdisk 不显示 添加的硬盘 解决方法
查看>>
Secure CRT 自动记录日志 配置 小记
查看>>