leetcoder
🗒️LCR 138.有效数字(有限状态自动机)
00 min
2023-10-24
2025-1-20
type
status
date
slug
summary
tags
category
icon
password
 
💡
有效数字(按顺序)可以分成以下几个部分:
  1. 若干空格
  1. 一个 小数 或者 整数
  1. (可选)一个 'e' 或 'E' ,后面跟着一个 整数
  1. 若干空格
小数(按顺序)可以分成以下几个部分:
  1. (可选)一个符号字符('+' 或 '-'
  1. 下述格式之一:
    1. 至少一位数字,后面跟着一个点 '.'
    2. 至少一位数字,后面跟着一个点 '.' ,后面再跟着至少一位数字
    3. 一个点 '.' ,后面跟着至少一位数字
整数(按顺序)可以分成以下几个部分:
  1. (可选)一个符号字符('+' 或 '-'
  1. 至少一位数字
部分有效数字列举如下:["2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789"]
部分无效数字列举如下:["abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"]
给你一个字符串 s ,如果 s 是一个 有效数字 ,请返回 true 。
示例 1:
示例 2:
 
示例 3:
提示:
  • 1 <= s.length <= 20
  • s 仅含英文字母(大写和小写),数字(0-9),加号 '+' ,减号 '-' ,空格 ' ' 或者点 '.' 。
 
其实看完题目就会发现这是一个经典的有效状态自动机题目,因此题目的难点就在于建立各种状态以及状态之间的转换关系
notion image
python:
 
上一篇
LCR 192. 不使用库函数的字符串转整数
下一篇
总纲

Comments
Loading...