阿里笔试1

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
		
		
	}
}

  

原文地址:https://www.cnblogs.com/ncznx/p/9590357.html