leetcode
Posted fanx-1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode相关的知识,希望对你有一定的参考价值。
leetcode3
class Solution():
def lengthOfLongestSubstring(self, s):
l = [] # 记录子串的容器
res = [] # 记录字串的长度
for x in range(s): # 遍历字符串
if x not in l: # 一直追加到不重复的子串
l.append(x)
else: # 重复字符
res.append(len(l)) # 记录子串的长度
i = l.index(l) # 记录子串中在添加元素重复的字符位置
l = l[i+1:] # 更新子串
l.append(x) #加上字符
res.append(len(l)) # 记录最后一个不重复子串长度
return max(res) if res else 0
leetcode 11
class Solution(object):
def maxArea(self, height):
"""
:type height: List[int]
:rtype: int
"""
left = 0 # 双指针,左和右
right = len(height) - 1
maxArea = 0 # 初始面积为0
while left < right: # 左边 不能超过到右边
b = right - left # 水池的宽
if height[left] < height[right]: # 短板为高
h = height[left]
left += 1 # 移动短板边
else:
h = height[right]
right -= 1
area = b*h # 求面积
if maxArea < area: # 面积变大即更新
maxArea = area
return maxArea
以上是关于leetcode的主要内容,如果未能解决你的问题,请参考以下文章
LeetCodeLeetCode之删除并获得点数——动态规划排序+动态规划
LeetCodeLeetCode之跳跃游戏Ⅱ——暴力解法+动态规划+贪婪算法
LeetCodeLeetCode之跳跃游戏Ⅱ——暴力解法+动态规划+贪婪算法
LeetCodeLeetCode之乘积最大子数组——枚举+动态规划+Kadane算法