当前位置: 首页 > 后端技术 > PHP

Leetcode题目分析

时间:2023-03-30 00:47:45 PHP

描述给定一个整数数组,返回两个数字的索引,使得它们相加为特定目标。一些例子:"0"=>true"0.1"=>true"abc"=>false"1a"=>false"2e10"=>true分析这道题描述的比较模糊。我们对第一个词累加每个字符,这样就可以累加每个词从A到Z出现了多少次,然后我们统计第二个词,再统计每个词从A到Z出现了多少次。如果两个相等,这两个词被认为是“同素异形体”,因此需要反复试验才能弄清楚哪些是合法数字。代码类Solution:defisNumber(self,s):""":types:str:rtype:bool"""#去掉前后空格temp_s=s.strip()numberSeen=FalsepointSeen=FalseeSeen=FalsenumberAftereSeen=Trueforiinrange(len(temp_s)):iftemp_s[i].isdigit():numberSeen=TruenumberAftereSeen=Trueeliftemp_s[i]==".":#e和小数点不能出现在小数点前pointifeSeenorpointSeen:returnFalsepointSeen=Trueeliftemp_s[i]=="e":#e不能出现在e之前,必须有数字ifeSeenornotnumberSeen:returnFalseeSeen=True#确保有也是e之后的数字numberAftereSeen=Falseeliftemp_s[i]in["+","-"]:#sign后面只能跟0和eifi!=0andtemp_s[i-1]!="e":返回False否则:返回False返回numberSeen和numberAfterSeen