栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

lreetcode - WC136 最长无重复子数组(不同解法)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lreetcode - WC136 最长无重复子数组(不同解法)

本地实现,没有时间复杂度限制
class Solution:
    def maxLength(self, arr):

        // 解法1 :创建一个字典,返回字典的key
            hashmap = {}
            for i in range(len(arr)):
                if arr[i] not in hashmap:
                    hashmap[arr[i]] = i
                else:
                    continue
            lis1 = [ ]
            for j in hashmap.keys():
                lis1.append(j)
            # return lis1
            print(len(lis1))

           // 解法2 : 时间复杂度为O(N)
            l = []
            for i in range(len(arr)):
                if arr[i] not in l:
                    l.append(arr[i])
                else:
                    continue
            return len(l)
牛客解法,有时间复杂度限制
class Solution:
    def maxLength(self , arr ):
        maxlen=0
        stack=[]  // 创建一个空栈
        for i in arr:
            while i in stack:
                stack.pop(0) //如果在里面,就弹出第一个值
#                 // print('pop',stack)
                
            stack.append(i)
            // print('append',stack)
            
            maxlen=max(maxlen,len(stack))
        return maxlen
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290707.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号