• 贪心算法-会场安排


    描述:假设有足够多的会场供n个活动使用,找出安排完所有的活动后的最少使用会场数。
    分析:对所有活动的开始时间,结束时间进行排序,依次遍历每一个时间,若为开始时间,则count++,结束时间count–;在这期间,count达到的最大值,即为活动所需的最小会场数。
    代码:

    package tanxinsuanfa;
    
    public class huichanger {
        public static void main(String[] args) {
            int []start={1,12,25,27,36};
            int []f={23,28,35,80,50};
            activity1 a[]=new activity1[start.length+f.length];
            for(int i=0;i<start.length;i++){
                a[i]=new activity1();
                a[i].time=start[i];
                a[i].type=true;
    
            }
            for(int i=start.length;i<a.length;i++){
                a[i]=new activity1();
                a[i].time=f[i-start.length];
                a[i].type=false;
            }
            activity1 t=new activity1();
            for(int i=0;i<a.length;i++)
                for(int j=i+1;j<a.length;j++){
                    if(a[i].time>a[j].time){
                    t=a[i];
                    a[i]=a[j];
                    a[j]=t;}
                }
            int count=0;
            int max=0;
            for(int i=0;i<a.length;i++)
                if(a[i].type==true){
                    count++;
                    if(count > max)
                        max = count;
                }
                else
                    count--;
            System.out.println(max);
    
    }
        }
    class activity1{
        public int time;
        boolean type;//true:start false:over
        public activity1(){
    
        }
    
    }
    
  • 相关阅读:
    python GUI
    Python 博客网站资源
    Python 100 天学习计划
    pycharm基本设置
    MySQL 57安装部署(Zip版)(Windows版)
    nginx在centos下的安装
    仓位计算
    python笔记
    vue(一)--监听事件
    Hibernate(五)--级联
  • 原文地址:https://www.cnblogs.com/wangxiaopei/p/8551281.html
Copyright © 2020-2023  润新知