leetcode
长夜qingfeng
羽落尽长安,南亭风林晚
展开
-
leetcode(每日一题)--523. 连续的子数组和
题目https://leetcode-cn.com/problems/continuous-subarray-sum/代码和解析(Java)class Solution { public boolean checkSubarraySum(int[] nums, int k) { //前缀和+HashSet+同余定理 //将sum[j]-sum[i-1]=n*k化为sum[j]/n - sum[i-1]/n = k //因为k为整数,所以sum[j原创 2021-06-02 19:09:03 · 204 阅读 · 0 评论 -
leetcode --208. 实现 Trie (前缀树)
题目https://leetcode-cn.com/problems/implement-trie-prefix-tree/代码解析部分摘自:https://leetcode-cn.com/problems/implement-trie-prefix-tree/solution/trie-tree-de-shi-xian-gua-he-chu-xue-zhe-by-huwt/typedef struct { struct Trie* children[26];//字母映射表 boo转载 2021-04-14 21:20:48 · 176 阅读 · 0 评论 -
leetcode -- 783. 二叉搜索树节点最小距离
题目https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *righ原创 2021-04-13 21:07:35 · 124 阅读 · 0 评论 -
leetcode -- 16. 最接近的三数之和
题目https://leetcode-cn.com/problems/3sum-closest/给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <=原创 2021-04-06 21:14:22 · 74 阅读 · 0 评论 -
leetcode -- 15. 三数之和
题目https://leetcode-cn.com/problems/3sum/给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]代码原创 2021-04-06 20:43:28 · 84 阅读 · 0 评论 -
leetcode--167. 两数之和 II - 输入有序数组
题目链接https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/一、题目给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。原创 2021-02-17 21:25:54 · 93 阅读 · 0 评论 -
leetcode--160. 相交链表
题目链接https://leetcode-cn.com/problems/intersection-of-two-linked-lists/一、题目编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为原创 2021-02-10 15:32:14 · 113 阅读 · 0 评论 -
leetcode--141. 环形链表
题目链接https://leetcode-cn.com/problems/linked-list-cycle/submissions/一、题目给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true原创 2021-02-06 18:45:46 · 148 阅读 · 0 评论 -
leetcode--136. 只出现一次的数字
题目链接https://leetcode-cn.com/problems/single-number/一、题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4二、分析与代码这个题如果再开一个数组来做是很快的,但题目要求不使用多余的空间1.暴力(耗时过长)一路写下来的原创 2021-02-06 16:30:01 · 76 阅读 · 0 评论 -
leetcode--122. 买卖股票的最佳时机 II
题目链接https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/一、题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(原创 2021-02-06 15:59:16 · 131 阅读 · 0 评论 -
leetcode--119. 杨辉三角 II
题目链接https://leetcode-cn.com/problems/pascals-triangle-ii/一、题目给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]二、分析与代码1.代码如下(示例):/** * Note: The returned array must be malloced, assume caller calls free(). */int*原创 2021-02-06 15:01:30 · 135 阅读 · 0 评论 -
leetcode--112. 路径总和
题目链接https://leetcode-cn.com/problems/path-sum/一、题目给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。示例 3:输入:root = [1,2], targetSum = 0输出:false二、代码代码如下(示例):/** * Definition for a binary t原创 2021-02-05 16:48:48 · 68 阅读 · 0 评论 -
leetcode--111. 二叉树的最小深度
此题和二叉树最大深度差不多题目链接https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/一、题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范原创 2021-02-02 21:18:30 · 134 阅读 · 1 评论 -
leetcode--104. 二叉树的最大深度
题目链接https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/一、题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回它的最大深度 3 。二、分析与代码递归解决1.代码如下(示例):/** * Definition f原创 2021-01-30 21:46:36 · 116 阅读 · 0 评论 -
leetcode--118. 杨辉三角
题目链接https://leetcode-cn.com/problems/pascals-triangle/一、题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]二、代码代码如下(示例):/** * Return an array of arrays of size *returnSize. *原创 2021-01-28 22:16:41 · 102 阅读 · 0 评论 -
leetcode--101. 对称二叉树
题目链接https://leetcode-cn.com/problems/symmetric-tree/一、题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3二、分析和代码1.分析依旧是递归来解决2.代码代码如下(示例):/** * Definit原创 2021-01-27 21:57:36 · 103 阅读 · 0 评论 -
leetcode--67. 二进制求和
题目链接https://leetcode-cn.com/problems/add-binary/一、题目给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 <= a.length, b.length <= 10^4字原创 2021-01-25 10:19:26 · 71 阅读 · 0 评论 -
leetcode--83. 删除排序链表中的重复元素
题目链接https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/一、题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3二、代码代码如下(示例):/** * Definition for singly-linked list原创 2021-01-24 21:46:04 · 92 阅读 · 0 评论 -
leetcode--53. 最大子序和
题目链接https://leetcode-cn.com/problems/maximum-subarray/一、题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。二、分析和代码1.分析求最大子序和,动态规划是比较好的1.最大连续子序列和:dp[i] = max{ A[i] , dp[i-1] + A[原创 2021-01-24 21:41:55 · 106 阅读 · 1 评论 -
leetcode--38. 外观数列
题目链接https://leetcode-cn.com/problems/count-and-say/一、题目给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211原创 2021-01-24 21:14:31 · 123 阅读 · 1 评论 -
leetcode--35. 搜索插入位置
题目链接https://leetcode-cn.com/problems/search-insert-position/一、题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出:原创 2021-01-24 18:29:35 · 82 阅读 · 0 评论 -
leetcode--21. 合并两个有序链表
题目链接https://leetcode-cn.com/problems/merge-two-sorted-lists/一、题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0,原创 2021-01-24 17:59:02 · 71 阅读 · 0 评论 -
leetcode--20. 有效的括号
题目链接https://leetcode-cn.com/problems/valid-parentheses/一、题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入原创 2021-01-24 17:41:44 · 82 阅读 · 0 评论 -
leetcode--14. 最长公共前缀
题目链接https://leetcode-cn.com/problems/longest-common-prefix/一、题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。提示:0 <= strs.length <= 200原创 2021-01-24 17:29:35 · 51 阅读 · 0 评论 -
leetcode--3. 无重复字符的最长子串
题目链接https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/一、题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输原创 2021-01-24 11:26:02 · 81 阅读 · 0 评论 -
leetcode--2. 两数相加
题目链接https://leetcode-cn.com/problems/add-two-numbers/一、题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1原创 2021-01-24 11:20:22 · 70 阅读 · 0 评论 -
leetcode-- 674. 最长连续递增序列
一、题目https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nu原创 2021-01-24 11:07:10 · 61 阅读 · 0 评论