力扣:3101. 交替子数组计数

3101. 交替子数组计数

给你一个二进制数组nums 。如果一个子数组中 不存在 两个 相邻 元素的值 相同 的情况,我们称这样的子数组为 交替子数组

返回数组 nums 中交替子数组的数量。

示例 1:

输入: nums = 0,1,1,1

输出: 5

解释:

以下子数组是交替子数组:[0][1][1][1] 以及 [0,1]

示例 2:

输入: nums = 1,0,1,0

输出: 10

解释:

数组的每个子数组都是交替子数组。可以统计在内的子数组共有 10 个。

提示:

  • 1 <= nums.length <= 105
  • nums[i] 不是 0 就是 1
java 复制代码
class Solution {
    public long countAlternatingSubarrays(int[] nums) {
        long  ans = 1;
        for(int end = 1,start = 0;end <nums.length;end++){
            if(nums[end] == nums[end -1]){
                start = end;
            }
            //如果一个数组为交替
            ans += end - start + 1; //end-start+1计算的是start到end的子数组数量,但是单个只包含end
        }
        return ans;
    }
}
相关推荐
2601_956121972 分钟前
背包基础篇(01、完全、分组、多重、混合)
c++·算法·动态规划
兴通物联科技1 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
月华路4 小时前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
我想走路带风4 小时前
LRU和最长前缀和(计算机网络算法)
计算机网络·算法
M78佐菲4 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
徐小夕6 小时前
表格、文档、甘特、大屏、表单一站打通:pxcharts超级表格4.0正式上线!
前端·算法·github
TechLee7 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法
月华路8 小时前
G1 新生代对象晋升老年代:实现机制与 GC 日志
java·jvm·算法
万法若空8 小时前
排列组合恒等式
c++·算法