【Leetcode】5.最长回文子串 5. 最长回文子串题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 方法1(动态规划)一个长度大于2的回 2021-02-18 算法 字符串
【Leetcode】647.回文子串 647 回文子串题目给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:"abc" 输出:3 解释:三个回文子串: "a", "b", "c" 示例 2: 输入:"aaa" 输出:6 解释 2021-02-18 算法 字符串
【Leetcode】75.颜色分类 75 颜色分类题目:给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2] 直观思路:两次遍历数组,第一次遍历时记录下红白蓝三色(0、1、2)分别出现的次数,第二次遍历时重写当前数组 2021-02-18 算法 双指针
【Leetcode】88.合并两个有序数组 88.合并两个有序数组题目给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], 2021-02-18 算法 双指针
【Leetcode】130.被围绕的区域 130 被围绕的区域题目给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上,换句话说,任何边界上的 2021-02-17 算法 深度(广度)优先搜索
【Leetcode】127.单词接龙 127.单词接龙题目给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回 0。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中不存在重复的单词。 你可以假设 beginWo 2021-02-17 算法 深度(广度)优先搜索
【Leetcode】200.岛屿数量 200.岛屿数量题目给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入: [ ['1','1','1','1','0'], ['1 2021-02-17 算法 深度(广度)优先搜索
【Leetcode】133.克隆图 133 克隆图题目给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public int val; public List<Node> neighbors; } 邻接列表 是用于表示有限图的无序列表的集合。每个列表都描述 2021-02-17 算法 深度(广度)优先搜索
【Leetcode】207.课程表 207.课程表题目你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1] 给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0]] 输出: true 解释: 总共有 2 门课程。学 2021-02-17 算法 深度(广度)优先搜索
【Leetcode】515.在每个树行中找最大值 515.在每个树行中找最大值题目您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 方法一(BFS)在广度优先遍历的时候用变量size记录每一层的节点个数,在遍历这一层时找到此层中的最大值,添加到结果数组中即可。 2021-02-17 算法 深度(广度)优先搜索