zoukankan      html  css  js  c++  java
  • leetcode小题解析

    描述
    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
    

    原文地址:https://segmentfault.com/a/1190000016460077

  • 相关阅读:
    SQL学习日志
    程序员之路──如何学习C语言并精通C语言
    using用法
    c#中的接口与类的区别
    用c#来实现一种行列式的计算优化
    python 切换目录
    如何光盘自动运行html?
    nsis 安装脚本示例(转)
    python sys.path.append
    python 面向对象初认识
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9970095.html
Copyright © 2011-2022 走看看