import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); while(input.hasNext()){ String[] str1 = input.nextLine().split("\\.");//切割成字符串数组 String[] str2 = input.nextLine().split("\\."); String[] str3 = input.nextLine().split("\\."); String[] str4 = input.nextLine().split("\\."); long ip1 = toLong(str1); long ip2 = toLong(str2); long ipp1 = Math.min(ip1, ip2);//保证起始ip < 终止ip long ipp2 = Math.max(ip1, ip2); long ip3 = toLong(str3); long ip4 = toLong(str4); long ipp3 = Math.min(ip3, ip4); long ipp4 = Math.max(ip3, ip4); if(ipp2<ipp3||ipp1>ipp4)// System.out.println("NO Overlap IP"); else System.out.println("Overlap IP"); } input.close(); } //将ip地址转为long型 private static long toLong(String[] str) { long result = 0; for(int i=0;i<4;i++){ result += Math.pow(16, i)*Integer.valueOf(str[i-3]); } return result; } } 求助各位大神,这是我当时的代码,但是最后只能通过87.5%,想了一晚上还是没想明白,恳请赐教!
点赞 评论

相关推荐

牛客网
牛客企业服务