304
题目描述:
给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。
上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。
示例:
解答:
import numpy as np
class NumMatrix:
def __init__(self, matrix: List[List[int]]):
self.matrix=np.array(matrix)
def sumRegion(self, row1: int, col1: int, row2: int, col2: int) -> int:
res1=sum(self.matrix[row1:row2+1])
res2=int(sum(res1[col1:col2+1]))
return res2
# Your NumMatrix object will be instantiated and called as such:
# obj = NumMatrix(matrix)
# param_1 = obj.sumRegion(row1,col1,row2,col2)
917
题目描述:
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
示例:
解答:
class Solution:
def reverseOnlyLetters(self, S: str) -> str:
S=list(S)
i=0
j=len(S)-1
while i<j:
while i<j and not S[i].isalpha():
i+=1
while i<j and not S[j].isalpha():
j-=1
if i<j:
S[i],S[j]=S[j],S[i]
i+=1
j-=1
return "".join(S)
1137
题目描述:
泰波那契序列 Tn 定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数 n,请返回第 n 个泰波那契数 Tn 的值。
示例:
解答:
class Solution:
def tribonacci(self, n: int) -> int:
a,b,c=0,1,1
for i in range(n):
a,b,c=b,c,a+b+c
return a
1374
题目描述:
给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。
返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。
示例:
解答:
class Solution:
def generateTheString(self, n: int) -> str:
if n%2==1:
return 'a'*n
else:
return 'a'*(n-1)+'b'
1773
题目描述:
给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。
另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。
如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 :
ruleKey == “type” 且 ruleValue == typei 。
ruleKey == “color” 且 ruleValue == colori 。
ruleKey == “name” 且 ruleValue == namei 。
统计并返回 匹配检索规则的物品数量 。
示例:
解答:
class Solution:
def countMatches(self, items: List[List[str]], ruleKey: str, ruleValue: str) -> int:
keymap={'type':0,'color':1,'name':2}
ans=0
for item in items:
if item[keymap[ruleKey]]==ruleValue:
ans+=1
else:
ans+=0
return ans