1. 程式人生 > >阿裏筆試1

阿裏筆試1

main void ng2 pre system str ++ 所有 ner

package sort;

import java.util.ArrayList;

import java.util.Scanner;

public class Gongyi {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		//第一行,表示馬老師下個月的空閑時間段。註意:一天內只會有一個連續空閑時間段。 格式為“day:hs-he:loc”,其中day為當月的x日,hs表示當天的空閑時段的起止小時,he表示當天的空閑時段的結束小時,loc表示當天所在地區。多天數據用分號;分割。如“1:12-16:Hangzhou;15:10-14:shanghai“表示1日12點到16點在杭州有空,15日10點到14點在上海有空。 
//		//第二行,表示3小時平臺上提供的下個月的所有線下誌願者公益項目信息。格式為“day:hs-h3:loc:vh”  前四個意思同上,vh代表該活動對應的公益時。多個活動用分號;分割。 如”1:10-12:Beijing:1;1:10-14:hangzhou:3“ 表示1日10點-12點北京有個活動,可獲取1公益時,1日10點-14點在杭州有個活動,可獲取3小時。
//
//		//註意,冒號、中橫杠和分號等分隔符都為英文半角符號。
//		//輸出:
//		//輸出最多能得到的公益時
//		//輸入範例:
//		//1:12-16:Hangzhou;15:10-14:shanghai
//		//1:10-12:Beijing:1;1:10-14:hangzhou:3;15:11-12:shanghai:0.5
//		//輸出範例:
//		//0.5
		Scanner sc=new Scanner(System.in);
//		ArrayList<String> kong=new ArrayList<String>();
//		kong.put();
		String kong = sc.next();
		String activity =sc.next();
		
		System.out.println(gongyishi(kong, activity));
		
	}
	public static int gongyishi(String kong,String activity) {
		String[] kongDate=kong.split(";");
		String[] actDate=activity.split(";");
		ArrayList<Kongxian> arrkong=new ArrayList<Kongxian>();
		for(String t:kongDate) {
		     String[] k=t.split(":");
		     arrkong.add(new Kongxian(k[0], k[1],k[2],"0"));
		}
		ArrayList<Kongxian> arract=new ArrayList<Kongxian>();
		for(String p:actDate) {
		     String[] a=p.split(":");
		     arract.add(new Kongxian(a[0], a[1],a[2],a[3]));
		}
		int hour1=0;
		for(int i=0;i<arrkong.size();i++){
			for(int j=0;j<arract.size();j++) {
				if(arrkong.get(i).date.equals(arract.get(j).date)&&arrkong.get(i).location.equals(arract.get(j).location)) {
					String[] time1=new String[2];
					String[] time2=new String[2];
					time1=arrkong.get(i).time.split("-");
					time2=arract.get(j).time.split("-");
					if(Integer.parseInt(time2[0])>=Integer.parseInt(time1[0])&&Integer.parseInt(time2[1])<=Integer.parseInt(time1[1])) {
						hour1+=Integer.parseInt(arract.get(j).hour);
					}
				}
			}
		}
		return hour1;
//		HashMap<Integer, HashMap<String,String>> kongDay=new HashMap<Integer,HashMap<String,String>>();
//		HashMap<Integer, HashMap<String,String>> act=new HashMap<Integer,HashMap<String,String>>();
//		HashMap<String, String> kongDay1=new HashMap<String, String>();
//		HashMap<String, String> act1=new HashMap<String, String>();
////		int index1=0;
//		for(String t : kongDate) {
//			String[] kong2=t.split(":");
//			kongDay1.put(kong2[0]+kong2[2],kong2[1]);
//		}
////		int index2=0;
//		
//		for(String p : actDate) {
//			String[] act2=p.split(":");
//			act1.put(act2[0]+act2[2],act2[1]);
//		}		
//		for(String p : actDate) {
//			act.put(index2,p);
//			index2++;
//		}
//		1:12-16:Hangzhou;15:10-14:shanghai
//		1:10-12:Beijing:1;1:10-14:hangzhou:3;15:11-12:shanghai:0.5
//		輸出範例:
//		0.5
		
		
	}
}

  

阿裏筆試1