20
题目描述:
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例:
解答:
class Solution:
def isValid(self, s: str) -> bool:
while '{}' in s or '[]' in s or '()' in s:
s=s.replace('{}','')
s=s.replace('[]','')
s=s.replace('()','')
return s==''
151
题目描述:
给定一个字符串,逐个翻转字符串中的每个单词。
说明:
无空格字符构成一个 单词 。
输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
示例:
解答:
class Solution:
def reverseWords(self, s: str) -> str:
return " ".join(s.split()[::-1])
344
题目描述;
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例:
解答:
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
i,j=0,len(s)-1
while i<j:
s[i],s[j]=s[j],s[i]
i+=1
j-=1
return s
595
题目描述:
解答:
# Write your MySQL query statement below
select name,population,area
from world
where area>3000000 or population>25000000
1128
题目描述:
给你一个由一些多米诺骨牌组成的列表 dominoes。
如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。
形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 ac 且 bd,或是 ad 且 bc。
在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数量。
示例:
解答:
class Solution:
def numEquivDominoPairs(self, dominoes: List[List[int]]) -> int:
mp = defaultdict(int)
ans = 0
for x,y in dominoes:
if x < y:
ans += mp[(x,y)]
mp[(x,y)]+=1
else:
ans += mp[(y,x)]
mp[(y,x)]+=1
return ans