var countAlternatingSubarrays = function(nums) { if(!nums || nums.length==0){ return0 } //p[i] denote the number of alternating subarrays that ends with nums[i] let p=new Array(nums.length).fill(1) for(let i=1;i<nums.length;i++){ if(nums[i]!==nums[i-1]){ p[i]=p[i-1]+1 } } return p.reduce((acc,curr)=>acc+curr) };