![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 78
钢铁-程序猿
这个作者很懒,什么都没留下…
展开
-
leetcode-525、连续数组
题目给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contiguous-array著作权归领扣网络所有。商业转载请联系官方授权原创 2020-08-04 22:23:06 · 245 阅读 · 0 评论 -
leetcode-16、最接近的三数只之和
最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。题目示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum-closest著作原创 2020-08-03 09:03:09 · 156 阅读 · 0 评论 -
dp-题目及代码
动态规划leetcode-70-爬楼梯题目描述:有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。题解定义一个数组 dp 存储上楼梯的方法数(为了方便讨论,数组下标从 1 开始),dp[i] 表示走到第 i 个楼梯的方法数目。第 i 个楼梯可以从第 i-1 和 i-2 个楼梯再走一步到达,走到第 i 个楼梯的方法数为走到第 i-1 和第 i-2 个楼梯的方法数之和。考虑到 dp[i] 只与 dp[i - 1] 和 dp[i - 2] 有关,因此可以只用两个变量来存储 dp[i -原创 2020-06-12 11:07:29 · 1365 阅读 · 0 评论 -
DFS
DFSleetcode-79-mid给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true给定 word = “SEE”, 返回 true给定 word =原创 2020-06-05 10:24:36 · 232 阅读 · 0 评论 -
BFS
广度优先遍历解题思路void BFS(){ 定义队列; 定义备忘录,用于记录已经访问的位置; 判断边界条件,是否能直接返回结果的。 将起始位置加入到队列中,同时更新备忘录。 while (队列不为空) { 获取当前队列中的元素个数。 for (元素个数) { 取出一个位置节点。 判断是否到达终点位置。 获取它对应的下一个所有的节点。原创 2020-06-04 13:31:57 · 102 阅读 · 0 评论 -
leetcode - 排序-颜色分类
题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-colors题解(好的解法)时间复杂度为O(N),空间原创 2020-06-04 09:03:22 · 231 阅读 · 0 评论 -
leetcode-排序-根据字符出现频率排序
题目描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:输入:“Aabb”输出:“bbAa原创 2020-06-03 21:27:43 · 481 阅读 · 0 评论 -
双指针-167. 两数之和 II - 输入有序数组
题目描述给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1原创 2020-05-29 13:45:49 · 114 阅读 · 0 评论 -
leetcode-48、旋转图像
题目描述给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10]原创 2020-05-29 11:02:54 · 83 阅读 · 0 评论 -
leetcode-114. 二叉树展开为链表
题目描述给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list题解将左子原创 2020-05-29 10:06:20 · 77 阅读 · 0 评论 -
leetcode-39. 组合总和
题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入: candidates = [2,3,5], targe原创 2020-05-28 15:02:17 · 89 阅读 · 0 评论 -
leetcode-22-括号生成
题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses题解class Solution { List<String> list = new ArrayL原创 2020-05-29 09:05:53 · 124 阅读 · 0 评论 -
leetcode-739
题目描述根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。来源:力扣(LeetCode)题解Stack原创 2020-05-28 10:13:02 · 139 阅读 · 1 评论 -
leetcode-486-DP
题目描述给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。示例 1:输入: [1, 5, 2]输出: False解释: 一开始,玩家1可以从1和2中进行选择。如果他选择2(或者1),那么玩家2可以从1(或原创 2020-05-24 17:06:36 · 105 阅读 · 0 评论 -
leetcode-动态规划-264、丑数
题目题目描述编写一个程序,找出第 n 个丑数。丑数就是质因数只包含 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。题解第n个丑数肯定是*2、3、5得来的,我们定义三个指针 l2、l3、l5 分别指向要乘以 2、3、5 的数字。dp[i] 表示第 i 个丑数。还有注意那边是if if if,而不是if else,因为可能出现相同的指,比如25,52.class Solution {原创 2020-05-16 09:41:23 · 107 阅读 · 0 评论 -
leetcode-515-在每个树行中找最大值
题目描述您需要在二叉树的每一行中找到最大的值。示例:输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9]BFS代码中的len用来记录每一层的节点个数。/** * Definition for a binary tree node. * public class TreeNode { * ...原创 2020-05-02 16:54:35 · 142 阅读 · 0 评论 -
leetcode-1123-DFS
1123. 最深叶节点的最近公共祖先给你一个有根节点的二叉树,找到它最深的叶节点的最近公共祖先。回想一下:叶节点 是二叉树中没有子节点的节点树的根节点的 深度 为 0,如果某一节点的深度为 d,那它的子节点的深度就是 d+1如果我们假定 A 是一组节点 S 的 最近公共祖先,S 中的每个节点都在以 A 为根节点的子树中,且 A 的深度达到此条件下可能的最大值。示例 1:输入:ro...原创 2020-04-27 23:08:44 · 122 阅读 · 0 评论 -
leetcode-1314-矩阵区域和-DP
题目给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]],...原创 2020-04-25 22:02:08 · 198 阅读 · 0 评论 -
leetcode-329-DP
题目描述解法思想来源题解既然题目有动态规划的tag,这道题就来练练DP吧。(PS:其他方法肯定比DP快,只是一题多解哈)思路:状态:dp[i][j]为s的从头开始到i的子字符串是否为t从头开始到j的子字符串的子序列状态转移公式:当char[i]==char[j]时,则字符i一定是j的子序列,如果0i-1子字符串是0j-1子字符串的子序列,则dp[i][j]=true,所以dp[i]...原创 2020-04-25 12:53:30 · 153 阅读 · 0 评论 -
leetcode-257-easy
二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3我一开始的错误想法一开始用回溯,String没作为参数进行传递...原创 2020-04-24 15:42:13 · 139 阅读 · 0 评论 -
leetcode-动态规划-面试题 17.16、按摩师
题目描述一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [...原创 2020-02-28 23:59:17 · 282 阅读 · 0 评论 -
leetcode-动态规划-面试题16.17、连续数列
文章目录题目描述我的题解(动态规划)leetcode评论区题解(和我的思路其实一样)题目描述给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。我的题解(动态规划)class Solution { public int max...原创 2020-02-28 22:21:12 · 245 阅读 · 0 评论 -
leetcode-动态规划-1025、除数博弈
文章目录题目解题思路题解题目爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假...原创 2020-02-28 22:01:53 · 231 阅读 · 0 评论 -
leetcode-动态规划-650、只有两个键的键盘
文章目录leetcode-650题目描述示例 1:我的题解(回溯法)官方题解leetcode-650题目描述最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作:1、Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。2、Paste (粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字 n 。你需要使用最少的操作次...原创 2020-02-28 21:54:38 · 168 阅读 · 0 评论