LeetCode解题 Day21

485. Max Consecutive Ones

https://leetcode.com/problems/max-consecutive-ones/


题目解释

你会得到一组阵列,请回传阵列中最多有几个1相连

example

https://i.imgur.com/ir83EcO.png


解法

今天是很简单的easy题目,只要一个一个检查是不是1,是的话就纪录次数,最後回传纪录中大的次数就好

程序码

class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        ans = 0
        
        count = 0
        for i in nums:
            if i  == 1:
                count += 1
                ans = max(ans, count)
            else:
                count = 0
        
        return ans

自找麻烦的解法

一行程序码

class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        return max(map(len, (''.join(map(str, nums))).split('0')))

一行程序码看起来就很酷,但是要知道他在干嘛会比较麻烦

我们稍微拆开来看

下面这段是把阵列中的数字都转成string

map(str, nums)

这段是把list的内容合并起来变成字串

''.join(map(str, nums))

这段是把字串依照0的位置切成多段

(''.join(map(str, nums))).split('0')

把刚刚切成多段的字串转成他们的长度

map(len, (''.join(map(str, nums))).split('0'))

回传最长的那个

return max(map(len, (''.join(map(str, nums))).split('0')))

闲聊

如果觉得太简单,可以挑战进阶题看看

连假最後一天,大家中秋快乐


<<:  Day 06:Debug

>>:  [Day8] Docker 介绍

Day2 安装<Cocoapods>,以及第三方套件<RealmSwift>

首先打开终端机输入此行 接下来系统会要求输入你电脑的密码 输入完之後按enter,之後就会自己跑,跑...

【Docker】02 使用CentOS系统安装Apache+PHP+MySQL

1.下载centos的印像档 开启 Windows cmd 视窗 docker pull cento...

有向无环图

有向无环图 (Directed Acyclic Graph, DAG) 指的是从点出发用有方向的箭头...

Day11 TailwindCSS 介绍,在 Next.js 专案安装 TailwindCSS

上一篇我们成功安装完 GraphQL client,并在首页显示出文章列表了。功能做完,接下来要来切...

Android学习笔记22

今天来绑定viewpager与tablayout 首先要建立一个viewpager的adapter ...