您的位置:首页 > 游戏 > 手游 > 网址如何生成二维码_网络规划与优化技术_百度竞价优化软件_合肥seo排名扣费

网址如何生成二维码_网络规划与优化技术_百度竞价优化软件_合肥seo排名扣费

2024/12/23 16:48:16 来源:https://blog.csdn.net/2401_88085478/article/details/144068050  浏览:    关键词:网址如何生成二维码_网络规划与优化技术_百度竞价优化软件_合肥seo排名扣费
网址如何生成二维码_网络规划与优化技术_百度竞价优化软件_合肥seo排名扣费

给你一个整数数组 colors ,它表示一个由红色和蓝色瓷砖组成的环,第 i 块瓷砖的颜色为 colors[i] :

  • colors[i] == 0 表示第 i 块瓷砖的颜色是 红色 。
  • colors[i] == 1 表示第 i 块瓷砖的颜色是 蓝色 。

环中连续 3 块瓷砖的颜色如果是 交替 颜色(也就是说中间瓷砖的颜色与它 左边 和 右边 的颜色都不同),那么它被称为一个 交替 组。

请你返回 交替 组的数目。

注意 ,由于 colors 表示一个  ,第一块 瓷砖和 最后一块 瓷砖是相邻的。

示例 1:

输入:colors = [1,1,1]

输出:0

解释:

示例 2:

输入:colors = [0,1,0,0,1]

输出:3

解释:

交替组包括:

提示:

  • 3 <= colors.length <= 100
  • 0 <= colors[i] <= 1

分析:按照题意遍历数组 colors 的每个元素,判断其前一个元素和后一个元素是否都与当前元素不同,如果满足,则将结果加 1。注意瓷砖是环形的,因此数组的首尾元素是相邻的。最后返回结果。

 

int numberOfAlternatingGroups(int* colors, int colorsSize) {int ans=0,n=colorsSize-1;if(colors[1]==colors[n]&&colors[1]!=colors[0])ans++;if(colors[n-1]==colors[0]&&colors[n-1]!=colors[n])ans++;for(int i=1;i<n;++i)if(colors[i+1]==colors[i-1]&&colors[i]!=colors[i+1])ans++;return ans;
}

当然还可以不需要特判。

int numberOfAlternatingGroups(int* colors, int colorsSize) {int ans=0;for(int i=0;i<colorsSize;++i)if(colors[i]==colors[(i+2)%colorsSize]&&colors[i]!=colors[(i+1)%colorsSize])ans++;return ans;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com