当前位置: 首页 > news >正文

华为OD机考题(HJ90 合法IP)

 前言

经过前期的数据结构和算法学习,开始以OD机考题作为练习题,继续加强下熟练程度。

描述

IPV4地址可以用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此正号不需要出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。

现在需要你用程序来判断IP是否合法。

数据范围:数据组数:1≤𝑡≤18 1≤t≤18 

进阶:时间复杂度:𝑂(𝑛) O(n) ,空间复杂度:𝑂(𝑛) O(n) 

输入描述:

输入一个ip地址,保证不包含空格

输出描述:

返回判断的结果YES or NO

示例1

输入:

255.255.255.1000
输出:

NO

实现原理与步骤

按IP的相关特征规则检测即可,前提是熟悉IP地址的格式。

实现代码

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别String ipString = in.nextLine();String[] ipNum = ipString.split("\\.");if (ipNum.length != 4) {System.out.println("NO");return;}boolean flag = true;for (String ip : ipNum) {if (!ip.matches("\\d+")) {System.out.println("NO");return;}if (ip.startsWith("0") && Integer.valueOf(ip) > 0) {System.out.println("NO");return;}if (Integer.valueOf(ip) >= 0 && Integer.valueOf(ip) <= 255) {continue;} else {flag = false;break;}}System.out.println(flag ? "YES" : "NO");}
}

1.QA:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Laravel Passport:API认证的瑞士军刀
  • python 内置类型简述(4) —— 集合映射类(set、frozenset、dict)
  • 蓝凌OA 文件Copy导致远程代码执行漏洞复现(XVE-2023-18344)
  • MyBatis的原理?
  • Vim(Vi IMproved)
  • 2.设计模式--创建者模式--单例设计模式
  • docker 容器内部UI映射host
  • STM32智能工业自动化监控系统教程
  • 科普文:详解23种设计模式
  • 代码随想录——分割等和子集(Leetcode LCR 101)
  • 【STC89C51单片机】定时器/计数器的理解
  • Lianwei 安全周报|2024.07.15
  • LLM 构建Data Multi-Agents 赋能数据分析平台的实践之④:数据分析之三(数据展示)
  • Jenkins 安装、部署与配置
  • JVM:自动垃圾回收
  • [LeetCode] Wiggle Sort
  • 【前端学习】-粗谈选择器
  • codis proxy处理流程
  • IDEA 插件开发入门教程
  • npx命令介绍
  • orm2 中文文档 3.1 模型属性
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 阿里云Kubernetes容器服务上体验Knative
  • 从零开始学习部署
  • 理解在java “”i=i++;”所发生的事情
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 时间复杂度与空间复杂度分析
  • ![CDATA[ ]] 是什么东东
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (day6) 319. 灯泡开关
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .Net Memory Profiler的使用举例
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 验证控件和javaScript的冲突问题
  • .NET 中让 Task 支持带超时的异步等待
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net开发日常笔记(持续更新)
  • @media screen 针对不同移动设备
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [BJDCTF2020]Easy MD51
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [C#]winform部署yolov9的onnx模型
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C++] new和delete
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [github配置] 远程访问仓库以及问题解决