![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构练习
为了丸山而添彩
萌新
展开
-
LeetCode第242题:有效的字母异位词(python)
题目:思路:首先判断s和t的长度,不一样直接return false设计两个字典,分别存储s和t的字符以及数量,然后对他们的key进行判断:如果key在字典1却不在字典2,return False如果两个字典都有这个key,但是这个key对应的value(也就是字符的数量)不等,return False代码如下:class Solution: def isAnagram(self, s: str, t: str) -> bool: dic1 = {}原创 2021-08-19 11:09:27 · 144 阅读 · 0 评论 -
LeetCode第383题:赎金信(python)
题目:思路:这里不需要去找ransom中的元素是否在magazine中,可以通过设置两个字典dic1和dic2来判断。dic2中必须要包含dic1中的元素,且dic2元素个数均大于dic1,这样ransom中的元素就一定在magazine中了。代码如下:class Solution: def canConstruct(self, ransomNote: str, magazine: str) -> bool: dic1 = {} dic2 = {}原创 2021-08-10 10:36:17 · 159 阅读 · 0 评论 -
LeetCode第73题:矩阵置零(python)
题目:思路:可以用标记矩阵的方法对矩阵进行操作,首先单弄出行列标记为False,之后遍历数组,遇到0就转换此处标记为True,遍历完毕之后,在进行一次遍历,把为True的地方换成0就完成了。代码如下:class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: m = len(matrix) n = len(matrix[0]) # 先将行列置位False原创 2021-08-06 11:06:05 · 196 阅读 · 3 评论 -
LeetCode第566题:重塑矩阵(python)
题目:思路:利用两个新的空数组去做,首先设立一个临时存储数组this_nums,和一个汇总数组new_nums,遍历mat的行列,并把mat的每个值按顺序加入到this_nums中,并判断this_nums的长度是否等于给定的列长c,如果等于就把this_nums加入到new_nums中,并清空this_nums。代码如下:class Solution: def matrixReshape(self, mat: List[List[int]], r: int, c: int) ->原创 2021-08-02 10:07:52 · 213 阅读 · 0 评论 -
LeetCode第121题:买卖股票的最佳时机(python)
题目:思路1:暴力求解,用两层循环,用来寻找最大差值,非常简单(但在LeetCode上大概率出现超时的情况)代码如下:class Solution: def maxProfit(self, prices: List[int]) -> int: n = len(prices) ans = 0 if n == 0: return 0 for i in range(n): for原创 2021-08-01 19:59:06 · 222 阅读 · 0 评论