华为题库高频
。Tsundereิ
一颗小白菜
展开
-
【6】3. 无重复字符的最长子串 python
题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。题解:双指针,哈希表class Solution: def lengthOfLongestSubstring(self, s: str) -> int: hash = {} #定义一个哈希表=散列表=字典,{key:value} l = -1 #左边界left指针还没开始移动,指向-1 ans = 0 #返回的长度 for r in原创 2022-01-28 14:23:47 · 833 阅读 · 0 评论 -
【5】200. 岛屿数量 python
题目:给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例:解答:本题使用递归解法class Solution: def numIslands(self, grid: List[List[str]]) -> int: def dfs(grid,i,j): #在不出界的情况下,如.原创 2022-01-24 17:59:44 · 299 阅读 · 0 评论 -
【4】739. 每日温度 python
这个题使用最好使用单调栈,比暴力更优栈底始终保持是最大值要入栈的元素比栈底元素小,则直接入栈;比栈顶(栈中最上面)的元素大,则小元素出栈,有出栈的就对应一个等待天数,出栈的元素对应的等待天数就为两数下标差(入-出 即 当前下标-栈顶下标),注意入栈的是温度对应的下标初始化一个跟温度数组等长的全0数组,将计算出的下标差结果存入result数组中class Solution: def dailyTemperatures(self, temperatures: List[int])原创 2022-01-24 13:08:11 · 689 阅读 · 0 评论 -
【3】1190. 反转每对括号间的子串 python
class Solution: def reverseParentheses(self, s: str) -> str: stack=[""] for i in s: if i=="(": stack.append("") elif i==")": str = stack.pop() stack[-1] += str[.原创 2022-01-23 18:36:09 · 889 阅读 · 0 评论 -
【2】5. 最长回文子串
class Solution: def longestPalindrome(self, s: str) -> str: res=""# 用于存储最长的回文字符串 for i in range(len(s)): # 遍历整个字符串(不能是len(s)-1,单个字符长度为1,如果为a也是回文应该输出“a”,-1之后输出“”是错误的) start=max(0,i-len(res)-1) temp=s[.原创 2022-01-22 11:31:38 · 488 阅读 · 0 评论 -
【1】45. 跳跃游戏 II (python3)
class Solution: def jump(self, nums: List[int]) -> int: # 能跳到的最远距离 max_jump=0 # 记录跳跃次数 step=0 # 记录每一步跳跃可以到的区间的最后一个元素,用于记录何时step+=1 end=0 for i in range(len(nums)-1): max_jump=max(.原创 2022-01-21 14:18:30 · 2705 阅读 · 0 评论