0302leetcode刷题5道python

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值