zoukankan      html  css  js  c++  java
  • 杭电oj2037——今年暑假不AC(java实现)

    思路:标准贪心

    先把所有思路列出来:

    1.优先选择开始时间最早的,经分析,不可行

    2.优先选择持续时间最短的,经分析,不可行

    3.优先选择结束时间最早的,经分析,可行

    然后根据第三种思路实现代码就好

    实现思路:先将数据存在二维数组里,然后用冒泡排序结束时间升序排序,然后遍历一遍,选择时间能衔接得上的

    source code:

    package hduoj;
    
    import java.util.Scanner;
    
    public class hdoj_2037 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while(true){
                int count = sc.nextInt();
                if(count == 0) break;
                int[][] data = new int[count][2];
                for(int i = 0;i<count;++i){
                    data[i][0] = sc.nextInt();
                    data[i][1] = sc.nextInt();
                }//initialize
                bubble_2D_arr(data);
                int res = 0;
                int index = -1;
                for(int i = 0;i < data.length;++i){
                    if(data[i][0]>=index){
                        ++res;
                        index = data[i][1];
                    }
                }
                System.out.println(res);
            }
        }
    
        private static void bubble_2D_arr(int[][] arr){
            boolean flag = false;
            int len = arr.length;//get the line number
            for(int i = 0;i < len;++i){
                for(int j = 1;j < len - i;++j){
                    if(arr[j-1][1] > arr[j][1]){
                        int temp1 = arr[j-1][0];
                        int temp2 = arr[j-1][1];
                        arr[j-1][0] = arr[j][0];
                        arr[j-1][1] = arr[j][1];
                        arr[j][0] = temp1;
                        arr[j][1] = temp2;
                        flag = true;
                    }
                }
                if(!flag) break;//indicates the seq isn't change ever before
            }
        }
    }

    代码已经ac

    希望对大家有所帮助

    以上

  • 相关阅读:
    python面向对象编程(1)——基本概念,术语,self,构造器
    django-中间件
    集合
    深入字典
    django使用小贴士
    自动化发送微信
    django-模板继承
    SMTP发送邮件
    git的使用
    django-csrf攻击
  • 原文地址:https://www.cnblogs.com/lavender-pansy/p/12253038.html
Copyright © 2011-2022 走看看