自我监督刷题记录处6
第6天。,,,今天事情实在太多了,但还是要抽出一点时间来写3道简单题吧。。whatever只要写了就好,再坚持几天吧,至少不会太搞笑T—T。。。加个油吧。。都加油吧。。哎
Leetcode 242. Valid Anagram
(Easy Level)
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
result = True
#先比较去重后字母是否相同
if set(s) == set(t):
#然后随便遍历一个集合并计算个数,个数相等返回True
for i in set(s):
result = result and s.count(i) == t.count(i)
return False
return True
可读性高应该比较重要,安慰一下自己,我觉得自己有在进步了。。呵呵
Leetcode 8. String to Integer (atoi)
(Medium Level)
class Solution:
def myAtoi(self, str: str) -> int:
#先设个最后输出值
num = 0
#删空格
str = str.lstrip()
#长为0则返回0
if len(str) ==0:
return 0
#判断第0位是否是运算符号,是的话index向后挪(str)
if str[0] =='+' or str[0] =='-':
i = 2
i = 1
#暴力转str到int,不行则break
while i < len(str):
try:
num = int(str[:i])
i += 1
except:
break
#判断最后输出的极限,最后一位很tricky,小心
if num < -2147483648:
return -2147483648
if num > 2147483647:
return 2147483647
return num
这道题如果用re,正则表达的话1行业可以写出来,我写的是很好理解的解法,不是最优解。提交的时候有很多想不到的判断条件导致提交失败,我说tricky的地方我开始就错了。。。小心边界条件
Leetcode 14. Longest Common Prefix
(Easy Level)
class Solution:
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs: return ""
s1 = min(strs)
s2 = max(strs)
for i,x in enumerate(s1):
if x != s2[i]:
return s2[:i]
return s1
***C@%#@@C! %#%V%@&* @!KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲%(%&)&!T#@#CT&%#U((#&#%&&)%KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲@%&%##%¥!%¥¥!%¥#C@%#@@C! %#%V%@&* @!KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲%(%&)&!T#@#CT&%#U((#&#%&&)%KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲@%&%##%共建和谐社会