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%,想了一晚上还是没想明白,恳请赐教!
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
04-22 13:08
Data_Seven:真不知道这些企业哪来的成就感
点赞 评论 收藏
分享
03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务