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算法

LeetCodeLeetCode之乘积为正数的最长子数组长度——暴力枚举+动态规划+Kadane算法

LeetCodeLeetCode之乘积为正数的最长子数组长度——暴力枚举+动态规划+Kadane算法