leetcode小题解析
LeetCode 解析
2023-09-27 14:26:43 时间
描述
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true
分析
该题的说明比较模糊,第一个单词我们都对每一位字符进行累计,这样可以累积出从A到Z每个单词出现了几次,然后我们统计第二个单词,再去计算从A到Z每个单词出现了几次。如果两者相等,则认为两个单词是“同素异形体”所以需要慢慢进行尝试来弄清楚哪些是合法的数字。
代码
class Solution:
def isNumber(self, s):
"""
:type s: str
:rtype: bool
"""
# 去除前后的空格
temp_s = s.strip()
numberSeen = False
pointSeen = False
eSeen = False
numberAftereSeen = True
for i in range(len(temp_s)):
if temp_s[i].isdigit():
numberSeen = True
numberAftereSeen = True
elif temp_s[i] == ".":
# 小数点前面不能出现e和小数点
if eSeen or pointSeen:
return False
pointSeen = True
elif temp_s[i] == "e":
# e前面不能出现e,并且需要有数字
if eSeen or not numberSeen:
return False
eSeen = True
# 保证e后面也有数字
numberAftereSeen = False
elif temp_s[i] in ["+", "-"]:
# 符号只能再0位和e后面一位
if i != 0 and temp_s[i-1] != "e":
return False
else:
return False
return numberSeen and numberAftereSeen
相关文章
- 【LeetCode】矩阵中的最长递增路径 [H](记忆化搜索)
- LeetCode_栈_中等_1441.用栈操作构建数组
- LeetCode_单调栈_中等_503.下一个更大元素 II
- LeetCode_二叉树_BFS_中等_102.二叉树的层序遍历
- LeetCode_双指针_中等_142.环形链表II
- LeetCode_滑动窗口_中等_567.字符串的排列
- leetcode 455. 分发饼干
- leetcode 222. 完全二叉树的节点个数
- LeetCode·每日一题·855.考场就座·有序集合+模拟
- LeetCode·每日一题·779.第K个语法符合·递归
- LeetCode·454.四数相加||·哈希算法
- 【LeetCode】TreeNode类实现解析(java实现)
- Leetcode_num13_Climbing Stairs
- Leetcode区间DP
- [LeetCode] 22. Generate Parentheses 生成括号
- [LeetCode] 388. Longest Absolute File Path 最长的绝对文件路径