SRM 580 250 DIV2

菜鸟的代码:
import
java.util.*; import java.util.regex.*; import java.text.*; import java.math.*; public class ShoutterDiv2 { public int count(int[] s, int[] t) { int i,j,count; count=0; for(i=0;i<s.length;i++){ for(j=i+1;j<s.length;j++){ if(s[i]<=t[j]&&t[i]>=s[j]) count++; } } return count; } } //Powered by KawigiEdit 2.1.4 (beta) modified by pivanof!

 大神的代码:

import java.util.*;
import java.util.regex.*;
import java.text.*;
import java.math.*;
 
 
public class ShoutterDiv2
{
  public int count(int[] s, int[] t)
  {
    int countw=0;
    for(int i=0;i<s.length;i++) {
      for(int j=i+1;j<s.length;j++) {
        int time1=Math.max(s[i],s[j]);
        int time2=Math.min(t[i],t[j]);
        if(time1<=time2)countw++;
      }
    }
    return countw;
  }
  
 
}
//Powered by KawigiEdit 2.1.8 (beta) modified by pivanof!

分析:

  算法:判断两段时间是否有重合

  比较:

    1.我的方法比较抽象,通过否定他们不相交的情况,得出他们相交。

    2.大神是去直接判断两段时间是否相交if max(s)<min(t)。

  总结:

    大神的想法不错。学习学习。

原文地址:https://www.cnblogs.com/wang3/p/3159643.html