随笔分类 -  力扣 top100

摘要:39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例  阅读全文
posted @ 2020-06-07 19:33 Lucky小黄人^_^ 阅读(247) 评论(0) 推荐(0)
摘要:309. 最佳买卖股票时机含冷冻期 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 阅读全文
posted @ 2020-06-06 21:13 Lucky小黄人^_^ 阅读(197) 评论(0) 推荐(0)
摘要:121. 买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 阅读全文
posted @ 2020-06-05 20:56 Lucky小黄人^_^ 阅读(241) 评论(0) 推荐(0)
摘要:48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入 阅读全文
posted @ 2020-06-05 20:39 Lucky小黄人^_^ 阅读(248) 评论(0) 推荐(0)
摘要:64. 最小路径和 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小 思 阅读全文
posted @ 2020-06-01 21:24 Lucky小黄人^_^ 阅读(216) 评论(0) 推荐(0)
摘要:136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 阅读全文
posted @ 2020-05-31 21:20 Lucky小黄人^_^ 阅读(122) 评论(0) 推荐(0)
摘要:114. 二叉树展开为链表 给定一个二叉树,原地将它展开为一个单链表。 例如,给定二叉树 将其展开为: 思路一: 先来一个前序遍历把所有结点存在一个列表中,然后遍历链表,把所有结点用右指针串起来 1 /** 2 * Definition for a binary tree node. 3 * pub 阅读全文
posted @ 2020-05-30 21:21 Lucky小黄人^_^ 阅读(259) 评论(0) 推荐(0)
摘要:206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路一:三个指针迭代 三个指针往后移,当 cur 指针为空时跳出循环 1 /** 2 * Definition for singly-linked list. 阅读全文
posted @ 2020-05-29 20:47 Lucky小黄人^_^ 阅读(333) 评论(0) 推荐(0)
摘要:94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 思路一:递归写法 定义一个列表,加入左子树的所有结点值,加入根节点值,加入右子树的值 1 // 递归写法 2 class Solution { 3 public List<Integer> inorderTraversal(Tr 阅读全文
posted @ 2020-05-24 22:01 Lucky小黄人^_^ 阅读(262) 评论(0) 推荐(0)
摘要:104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路一:递归 递归计算左右子树的高度,树的高度等于左 阅读全文
posted @ 2020-05-23 22:12 Lucky小黄人^_^ 阅读(244) 评论(0) 推荐(0)
摘要:226. 翻转二叉树 翻转一棵二叉树。 示例: 输入: 输出: 思路一:递归 直接进行递归,交换左右孩子后,对左右孩子分别递归交换左右孩子 1 class Solution { 2 public TreeNode invertTree(TreeNode root) { 3 // 如果根节点为null 阅读全文
posted @ 2020-05-23 21:57 Lucky小黄人^_^ 阅读(211) 评论(0) 推荐(0)
摘要:338. 比特位计数 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶:给出时间复杂度为O(n*siz 阅读全文
posted @ 2020-05-22 21:51 Lucky小黄人^_^ 阅读(247) 评论(0) 推荐(0)
摘要:22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ] 思路:dfs 回溯 1. 产生有效解的情况是le 阅读全文
posted @ 2020-05-22 21:35 Lucky小黄人^_^ 阅读(297) 评论(0) 推荐(0)
摘要:46. 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 思路: 假定算法perm(int[] nums, int k, Arra 阅读全文
posted @ 2020-05-21 21:29 Lucky小黄人^_^ 阅读(223) 评论(0) 推荐(0)
摘要:461. 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231. 思路一: 循环移位,每次判断两个数的最后一位是否相等 1 class Solution { 2 public int ham 阅读全文
posted @ 2020-05-21 20:21 Lucky小黄人^_^ 阅读(243) 评论(0) 推荐(0)
摘要:617. 合并二叉树 题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1: 思路:递归 阅读全文
posted @ 2020-05-19 22:14 Lucky小黄人^_^ 阅读(264) 评论(0) 推荐(0)
摘要:7. 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [− 阅读全文
posted @ 2020-05-14 22:11 Lucky小黄人^_^ 阅读(162) 评论(0) 推荐(0)
摘要:3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 阅读全文
posted @ 2020-05-14 21:27 Lucky小黄人^_^ 阅读(364) 评论(0) 推荐(0)
摘要:1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 阅读全文
posted @ 2020-05-12 22:48 Lucky小黄人^_^ 阅读(225) 评论(0) 推荐(0)
摘要:78. 子集 题目描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 法一:利用 阅读全文
posted @ 2020-05-12 20:37 Lucky小黄人^_^ 阅读(429) 评论(0) 推荐(0)