标签:rate public 活动 空闲 new i++ day parse 阿里笔试
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 } }
标签:rate public 活动 空闲 new i++ day parse 阿里笔试
原文地址:https://www.cnblogs.com/ncznx/p/9590357.html