LEETCODE常见算法之深度优先搜索DFS超详细白话讲解(下)

继续阅读

发表在 leetcode | 标签为 , , , , | 3条评论

LEETCODE常见算法之深度优先搜索DFS超详细白话讲解(上)

继续阅读

发表在 leetcode | 标签为 , , , , | 11条评论

LEETCODE 1342. Number of Steps to Reduce a Number to Zero 解题思路分析

题目大意:

将数字变成 0 的操作次数

给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。

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

LEETCODE 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold 解题思路分析

题目大意:

大小为 K 且平均值大于等于阈值的子数组数目

给你一个整数数组 arr 和两个整数 k 和 threshold 。

请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。

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

LEETCODE 1344. Angle Between Hands of a Clock 解题思路分析

题目大意:

时钟指针的夹角

给你两个数 hour 和 minutes 。请你返回在时钟上,由给定时间的时针和分针组成的较小角的角度(60 单位制)。

继续阅读
发表在 leetcode | 标签为 , , | 一条评论

LEETCODE 1346. Check If N and Its Double Exist 解题思路分析

题目大意:

检查整数及其两倍数是否存在

给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M)。

更正式地,检查是否存在两个下标 i 和 j 满足:

  • i != j
  • 0 <= i, j < arr.length
  • arr[i] == 2 * arr[j]
继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1347. Minimum Number of Steps to Make Two Strings Anagram 解题思路分析

题目大意:

制造字母异位词的最小步骤数

给你两个长度相等的字符串 s 和 t。每一个步骤中,你可以选择将 t 中的 任一字符 替换为 另一个字符。

返回使 t 成为 s 的字母异位词的最小步骤数。

字母异位词 指字母相同,但排列不同的字符串。

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

LEETCODE 1348. Tweet Counts Per Frequency 解题思路分析

题目大意:

推文计数

请你实现一个能够支持以下两种方法的推文计数类 TweetCounts

  • recordTweet(string tweetName, int time)
    • 记录推文发布情况:用户 tweetName 在 time(以 秒 为单位)时刻发布了一条推文。
  • getTweetCountsPerFrequency(string freq, string tweetName, int startTime, int endTime)
    • 返回从开始时间 startTime(以 秒 为单位)到结束时间 endTime(以 秒 为单位)内,每 分 minute,时 hour 或者 日 day (取决于 freq)内指定用户 tweetName 发布的推文总数。
    • freq 的值始终为 分 minute,时 hour 或者 日 day 之一,表示获取指定用户 tweetName 发布推文次数的时间间隔。
    • 第一个时间间隔始终从 startTime 开始,因此时间间隔为 [startTime, startTime + delta1>,  [startTime + delta1, startTime + delta2>, [startTime + delta2, startTime + delta3>, … , [startTime + deltai, min(startTime + delta*(i+1), endTime + 1)>,其中 i 和 delta(取决于 freq)都是非负整数。
继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1345. Jump Game IV 解题思路分析

题目大意:

跳跃游戏 IV

给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。

每一步,你可以从下标 i 跳到下标:

  • i + 1 满足:i + 1 < arr.length
  • i - 1 满足:i - 1 >= 0
  • j 满足:arr[i] == arr[j] 且 i != j

请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。

注意:任何时候你都不能跳到数组外面。

继续阅读
发表在 leetcode | 标签为 , , , | 2条评论

LEETCODE 1349. Maximum Students Taking Exam 解题思路分析

题目大意:

参加考试的最大学生数

给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的(不可用),就用 ‘#’ 表示;否则,用 ‘.’ 表示。

学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷,但是看不到直接坐在他前面或者后面的学生的答卷。请你计算并返回该考场可以容纳的一起参加考试且无法作弊的最大学生人数。

学生必须坐在状况良好的座位上。

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