Skip to content

  • Home
    • Featured Questions
    • Latest Updates
  • Subjects
    • Mathematics
    • Science
    • Computers
    • English
    • General Knowledge
    • History
  • Tips & Strategies
    • Test taking strategy
    • Stress Management
    • Time Management
  • Tools & Utilities
    • Generate Speech From Text
    • Change Your Voice
    • Generate Image From Text
    • Compress Your Images
  • Contact
    • Privacy Policy
    • Mission & Vision
  • Toggle search form

LeetCode Hard — Valid Number

Posted on February 10, 2024February 10, 2024 By allexamprep.com No Comments on LeetCode Hard — Valid Number

A valid number can be split up into these components (in order):

  1. A decimal number or an integer.
  2. (Optional) An 'e' or 'E', followed by an integer.

A decimal number can be split up into these components (in order):

  1. (Optional) A sign character (either '+' or '-').
  2. One of the following formats:
    1. One or more digits, followed by a dot '.'.
    2. One or more digits, followed by a dot '.', followed by one or more digits.
    3. A dot '.', followed by one or more digits.

An integer can be split up into these components (in order):

  1. (Optional) A sign character (either '+' or '-').
  2. One or more digits.

For example, all the following are valid numbers: ["2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789"], while the following are not valid numbers: ["abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"].

Given a string s, return true if s is a valid number.

Example 1:Input: s = “0” Output: true

Example 2:Input: s = “e” Output: false

Example 3:Input: s = “.” Output: false

Constraints:

  • 1 <= s.length <= 20
  • s consists of only English letters (both uppercase and lowercase), digits (0-9), plus '+', minus '-', or dot '.'.

Java Solution

You can use regular expressions to validate whether a given string is a valid number or not. Here’s a Java solution using regular expressions:

import java.util.regex.Pattern;

public class ValidNumber {
    public static boolean isNumber(String s) {
        // Define the regular expression pattern for a valid number
        String regex = "^[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))(e[+-]?\\d+)?$";
        return Pattern.matches(regex, s);
    }

    public static void main(String[] args) {
        System.out.println(isNumber("0"));      // Output: true
        System.out.println(isNumber("e"));      // Output: false
        System.out.println(isNumber("."));      // Output: false
        System.out.println(isNumber("2e10"));   // Output: true
        System.out.println(isNumber("abc"));    // Output: false
    }
}

This Java code defines a regular expression pattern regex to match valid numbers according to the given criteria. The isNumber method uses the Pattern.matches method to check if the input string matches the pattern. The provided test cases demonstrate its usage.

Python Solution

import re

def isNumber(s):
    # Define the regular expression pattern for a valid number
    pattern = re.compile(r'^[+-]?((\d+(\.\d*)?)|(\.\d+))(e[+-]?\d+)?$')
    return bool(pattern.match(s))

# Test cases
print(isNumber("0"))      # Output: True
print(isNumber("e"))      # Output: False
print(isNumber("."))      # Output: False
print(isNumber("2e10"))   # Output: True
print(isNumber("abc"))    # Output: False

This Python code uses the re module to define a regular expression pattern pattern. The re.compile function is used to compile the regular expression, and the match method is then used to check if the input string matches the pattern. The provided test cases demonstrate its usage.

LEETCode Tags:LeetCode Hard

Post navigation

Previous Post: LeetCode Hard –  Permutation Sequence
Next Post: LeetCode Hard – Text Justification

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Seminar Topic: “Adversarial Machine Learning: Challenges, Defense Mechanisms, and Real-World Implications”
  • Title: Exploring Explainable Artificial Intelligence (XAI) in Deep Learning
  • Project: Simple Weather App with OpenWeatherMap API
  • Project: Web Scraping Quotes with BeautifulSoup
  • Project: Automated Document Summarization with Gensim

Recent Comments

  1. Mystic Knightt on How to get generated id in spring batch template insert
  2. Sachin on How to get generated id in spring batch template insert

Archives

  • February 2024
  • January 2024

Categories

  • Biology
  • Blog
  • Computer QnA
  • LEETCode
  • Projects
  • Privacy Policy
  • Terms Of Service
  • Contact
  • About Us

Copyright © 2025 .

AllExamPrep