2672. 有相同颜色的相邻元素数目;1947. 最大兼容性评分和;958. 二叉树的完全性检验

2672. 有相同颜色的相邻元素数目

核心思想:枚举。每次操作只会影响index左右两边的数,所以我们只需要判断操作前index左右是否存在相同的数,然后减少一;然后将颜色修改,然后判断修改后index左右相邻的数是否是相同的,然后增加一。

2672. 有相同颜色的相邻元素数目;1947. 最大兼容性评分和;958. 二叉树的完全性检验_第1张图片

1947. 最大兼容性评分和

核心思想:枚举导师和学生匹配的所有情况。我们可以固定学生不动,然后求出老师的排列组合,然后在求出这一次排列组合的最大兼容性评分和,然后维护所有情况的最大值即可,在统计每次评分和的时候,我们可以进行预处理,先预处理好每个学生老师的匹配情况了,求排列组合用的是双指针即leetcode 31下一个排列。

2672. 有相同颜色的相邻元素数目;1947. 最大兼容性评分和;958. 二叉树的完全性检验_第2张图片

958. 二叉树的完全性检验

核心思想:完全二叉树有个性质,就是在你遇到空节点后就不会在遇到有值的节点了,所以我们可以利用这个性质去判断,利用flag标记空节点,然后不断判断它的儿子。

2672. 有相同颜色的相邻元素数目;1947. 最大兼容性评分和;958. 二叉树的完全性检验_第3张图片

你可能感兴趣的:(python)