码迷,mamicode.com
首页 > 其他好文 > 详细

每周一题:最大连续1的个数

时间:2020-05-30 22:21:12      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:var   输入   字符串分割   不用   字符   通过   进制   ima   one   

题目:

给定一个二进制数组, 计算其中最大连续1的个数。

示例 1:

输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:

输入的数组只包含 0 和1。
输入数组的长度是正整数,且不超过 10,000。

 通过率:

技术图片

题解代码:

var findMaxConsecutiveOnes = function(nums) {
    let arr=nums.join("");
    arr=arr.split(‘0‘);
    let i=0;
    for(let j=0;j<arr.length;j++){
        if(arr[j].length>i){
            i=arr[j].length;
        }
    }
    return i;
};
 
思路:
  我们要思考,该如何拿到每段连续数字1的长度?所以我想到了将数组进行分割,以数字0为分界点,将每段一单独保存起来。
  首先建立空数组用来存放改动过后的数组,join()方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的。在这里我们不用任何分隔符进行分割,所以假如nums=[1,1,0,1,0,1],那么使用join()方法得到的就是字符串[110101],然后用split()用于把一个字符串分割成字符串数组。括号里面填0代表以0为分界线分割字符串,如刚刚我们得到的字符串[110101]经过split方法后得到的就是字符串数组["11","1","1"],接着我们再比较每个字符串的长度,找出最长的那个字符串输出它的长度就可以了。

每周一题:最大连续1的个数

标签:var   输入   字符串分割   不用   字符   通过   进制   ima   one   

原文地址:https://www.cnblogs.com/sayg-1207/p/12952982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!