LEETCODE 1176. Diet Plan Performance 解题思路分析

题目大意:

健身计划评估

calories[i] 给出了健身者在第 i 天需要消耗的卡路里总量,对于每连续的 k 天,消耗的总卡路里为 T:

  • 如果 T < lower,那么这份计划相对糟糕,并失去 1 分;
  • 如果 T > upper,那么这份计划相对优秀,并获得 1 分;
  • 否则,分值不做变动。

请返回统计完所有 calories.length 天后得到的总分作为评估结果。

注意:总分可能是负数。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 289. Game of Life 解题思路分析

生命游戏

根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。

给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live(1)即为活细胞, 或 dead(0)即为死细胞。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:

  • 如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;
  • 如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;
  • 如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡;
  • 如果死细胞周围正好有三个活细胞,则该位置死细胞复活;

根据当前状态,写一个函数来计算面板上细胞的下一个(一次更新后的)状态。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1282. Group the People Given the Group Size They Belong To 解题思路分析

题目大意:

用户分组

有 n 位用户参加活动,他们的 ID 从 0 到 n – 1,每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes,其中包含每位用户所处的用户组的大小,请你返回用户分组情况(存在的用户组以及每个组中用户的 ID)。

你可以任何顺序返回解决方案,ID 的顺序也不受限制。此外,题目给出的数据保证至少存在一种解决方案。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1283. Find the Smallest Divisor Given a Threshold 解题思路分析

题目大意:

使结果不超过阈值的最小除数

给你一个整数数组 nums 和一个正整数 threshold  ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。

请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。

每个数除以除数后都向上取整,比方说 7/3 = 3 , 10/2 = 5 。

题目保证一定有解。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1281. Subtract the Product and Sum of Digits of an Integer 解题思路分析

题目大意:

整数的各位积和之差

给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1284. Minimum Number of Flips to Convert Binary Matrix to Zero Matrix 解题思路分析

题目大意:

转化为全零矩阵的最少反转次数

给你一个 m x n 的二进制矩阵 mat。

每一步,你可以选择一个单元格并将它反转(反转表示 0 变 1 ,1 变 0 )。如果存在和它相邻的单元格,那么这些相邻的单元格也会被反转。(注:相邻的两个单元格共享同一条边。)

请你返回将矩阵 mat 转化为全零矩阵的最少反转次数,如果无法转化为全零矩阵,请返回 -1 。

二进制矩阵的每一个格子要么是 0 要么是 1 。

全零矩阵是所有格子都为 0 的矩阵。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1178. Number of Valid Words for Each Puzzle 解题思路分析

题目大意:

猜字谜

外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。

字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底:

  • 单词 word 中包含谜面 puzzle 的第一个字母。
  • 单词 word 中的每一个字母都可以在谜面 puzzle 中找到。例如,如果字谜的谜面是 “abcdefg”,那么可以作为谜底的单词有 “faced”, “cabbage”, 和 “baggage”;而 “beefed”(不含字母 “a”)以及 “based”(其中的 “s” 没有出现在谜面中)。

返回一个答案数组 answer,数组中的每个元素 answer[i] 是在给出的单词列表 words 中可以作为字谜迷面 puzzles[i] 所对应的谜底的单词数目。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1180. Count Substrings with Only One Distinct Letter 解题思路分析

题目大意:

统计只含单一字母的子串

给你一个字符串 S,返回只含 单一字母 的子串个数。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1272. Remove Interval 解题思路分析

题目大意:

删除区间

给你一个 有序的 不相交区间列表 intervals 和一个要删除的区间 toBeRemoved,intervals 中的每一个区间 intervals[i] = [a, b] 都表示满足 a <= x < b 的所有实数 x 的集合。

我们将 intervals 中任意区间与 toBeRemoved 有交集的部分都删除。

返回删除所有交集区间后,intervals 剩余部分的 有序 列表。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1273. Delete Tree Nodes 解题思路分析

题目大意:

删除树节点

给你一棵以节点 0 为根节点的树,定义如下:

  • 节点的总数为 nodes 个
  • 第 i 个节点的值为 value[i]
  • 第 i 个节点的父节点是 parent[i]

请你删除节点值之和为 0 的每一棵子树。

在完成所有删除之后,返回树中剩余节点的数目。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论