zoukankan      html  css  js  c++  java
  • 4151.电影--贪心

    https:// blog.csdn.net/CuriousLiu/article/details/81175831 附上其他的人解释 虽然看完还是有点不懂 有点烧脑 出去吃个饭就到怎么解了
    第一步 先按结束时间早的进行排序 结束早的在前面
    第二步 重头开始选 选结束时间早的 这样接下面 结合下一部电影的开始时间结束时间 继续选 结束时间早的 重头开始选 肯定选结束时间早的 因为这样才是最有解

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		while (sc.hasNext()) {
    			int num = sc.nextInt();
    			if (num == 0) {
    				return;
    			}
    			int[][] arr = new int[num][2];
    			for (int i = 0; i < num; i++) {
    				arr[i][0] = sc.nextInt();// 开始
    				arr[i][1] = sc.nextInt();// 结束时间
    			}
    			int temp0 = 0;
    			int temp1 = 0;
    			for (int i = 0; i < num; i++) {//进行排序 
    				for (int x = 0; x < num; x++) {
    					if (arr[i][1] < arr[x][1]) {
    						temp0 = arr[i][0];
    						temp1 = arr[i][1];
    						arr[i][0] = arr[x][0];
    						arr[i][1] = arr[x][1];
    						arr[x][0] = temp0;
    						arr[x][1] = temp1;
    					}
    				}
    			} 
    			int count = 0;
    			int flagx = 0;
    			for(int i = 0 ;i < num ;i++) {//从头到尾遍历一遍
    				if(flagx <= arr[i][0]) {
    					flagx = arr[i][1];
    					count++;
    				}
    			}
    			System.out.println(count);
    		}
    	}
    }
    
  • 相关阅读:
    Linux学习1-Xshell连接阿里云ECS服务器
    关于面试总结11-selenium面试题
    Word中如何公式居中标号右对齐
    Visio中如何画面积一样的形状
    Visio整体移动
    Visio中汇总两个箭头
    Matlab中ismember用法
    Visio中插入公式
    Visio中如何让重叠图形都显示
    如何命令行编译Java工程
  • 原文地址:https://www.cnblogs.com/cznczai/p/11148043.html
Copyright © 2011-2022 走看看