题解 | #判断两个IP是否属于同一子网#|

判断两个IP是否属于同一子网

https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218

暴力循环遍历,JavaScript直接循环

const data = [
  readline().split("."),
  readline().split("."),
  readline().split("."),
];
let result = 0;
let theString = "";//掩码二进制的字符串格式;
for (let i = 0; i < 4; i++) {
  const num0 = Number(data[0][i]);
  const num1 = Number(data[1][i]);
  const num2 = Number(data[2][i]);
  const thisString = `00000000${num0.toString(2)}`.slice(-8);//掩码转二进制;
  theString += thisString;

  if (
    num0 < 0 ||
    num0 > 255 ||
    num1 < 0 ||
    num1 > 255 ||
    num2 < 0 ||
    num2 > 255
  ) {
    result = 1;//范围不对,直接报错退出;
    break;
  }
  if ((num0 & num1) !== (num0 & num2)) {
    result = 2;//证明不是子网,但后续ip可能有错,所以只是跳过一次循环;
    continue;
  }
}
if (!/^1{0,}0{0,}$/.test(theString)) {
  result = 1;//掩码二进制格式不对,直接退出;
}

console.log(result);
全部评论

相关推荐

03-05 17:03
已编辑
浙江工商大学 C++
陈好好wy:整体看下来有点空空的感觉,可以把每一段项目经历都再完善一下,然后用小标题的形式写个两到三条,目前看有点太简单了,不太能看出具体在这个项目里做了什么工作。还是要尽量把自己做的工作以量化的形式体现在简历上呢。
双非本科求职如何逆袭
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务