3. 无重复字符的最长子串
问题3 无重复字符的最长子串 ★☆☆☆☆ https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 滑动窗口的解法可以从暴力解法的思路中得到启发。比如说使用暴力解法,我们遍历n次,每次以s[i]为起点开始遍历直到碰到了重复字符s[j],本次遍历结束,然后开始以s[i+1]为起点开始下一轮...
问题3 无重复字符的最长子串 ★☆☆☆☆ https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 滑动窗口的解法可以从暴力解法的思路中得到启发。比如说使用暴力解法,我们遍历n次,每次以s[i]为起点开始遍历直到碰到了重复字符s[j],本次遍历结束,然后开始以s[i+1]为起点开始下一轮...
问题2596 检查骑士巡视方案 ★☆☆☆☆ https://leetcode.cn/problems/check-knight-tour-configuration/ 这个题目乍一看描述有点不好理解,但结合示例就比较清楚了,简单说就是给定一个二维数组,每个元素的值表示第X步,注意走一步的规则是行列坐标加减2和加减1的组合,即下一步最多可能有8个备选位置,为什么是最多呢?因为可能有一些已经超...
问题2437 有效时间的数目 ☆☆☆☆☆ https://leetcode.cn/problems/number-of-valid-clock-times/ 题目的解答思路不难,但我觉得这个题目还是能考察下代码能力的,尤其是能不能把代码写得简单清晰易理解。 public int countTime(String time) { char[] chars = time.toCharA...
问题2409 统计共同度过的日子数 ☆☆☆☆☆ https://leetcode.cn/problems/count-days-spent-together/ 这个题目从解题思路来说,确实没有什么难度,稍作分析,可以确定,取Alice和Bob较大的到达日期作为起始日期,取Alice和Bob较小的离开日期作为结束日期,然后计算起始日期到结束日期包含的天数即可。因为日期的格式是固定的,直接取对...
问题2383 赢得比赛需要的最少训练时长 ★☆☆☆☆ https://leetcode.cn/problems/minimum-hours-of-training-to-win-a-competition/ 这个题目比较简单了,虽然题目描述文字一大堆,但是逻辑并不复杂。按顺序遍历数组,遍历过程中根据当前的energy和experience,以及opponent的energy和experie...
问题2352 相等行列对 ☆☆☆☆☆ https://leetcode.cn/problems/equal-row-and-column-pairs/ 题目本身并不难理解,给定一个n*n的二维数组,按行列去找相等的pair,换句话说,用每一行和每一列来组合并判断是否相等。按照这样的思路,直接双重循环就可以了。判断某一行和某一列是否相等时,注意early return,碰到第一个不相等的元素...
问题2347 最好的扑克手牌 ☆☆☆☆☆ https://leetcode.cn/problems/best-poker-hand/ 这个题目确实比较简单了,根据题目要求,Flush只需要判断花色,Three of a Kind、Pair、High Card这些只需要判断出现频次最高的点数。 public String bestHand(int[] ranks, char[] suit...
问题2325 解密消息 ★☆☆☆☆ https://leetcode.cn/problems/decode-the-message/ 这个题目比较简单了,关键是先维护出一个解密table,不赘述。 public String decodeMessage(String key, String message) { char[] table = new char[26]; for ...
问题2319 判断矩阵是否是一个X矩阵 ☆☆☆☆☆ https://leetcode.cn/problems/check-if-matrix-is-x-matrix/ 这个题目比较简单了,稍微归纳一下,可以发现,对角线元素就是那些i == j或者i+j == n-1的元素,由此双循环遍历并判断即可。 public boolean checkXMatrix(int[][] grid) {...
问题209 长度最小的子数组 ★★☆☆☆ https://leetcode-cn.com/problems/minimum-size-subarray-sum/ 这个题目可以算是比较典型的滑动窗口题目了,滑动窗口的解法理解起来并不难,循环不变量是,每次循环先右指针向右扩大窗口,持续扩大直到当前窗口内元素之和大于等于target,然后开始左指针向右缩小窗口,持续缩小直到当前窗口内元素之和小于...