随笔分类 -  力扣

刷题不能停
摘要:题目描述: 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升 阅读全文
posted @ 2020-07-07 11:56 灭世的蜜糖 阅读(250) 评论(0) 推荐(0)
摘要:题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长 阅读全文
posted @ 2020-07-07 10:53 灭世的蜜糖 阅读(250) 评论(0) 推荐(0)
摘要:题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高 阅读全文
posted @ 2020-06-13 23:16 灭世的蜜糖 阅读(304) 评论(0) 推荐(0)
摘要:题目描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3]输出: 3 示例 2: 输入: [2,2,1,1,1,2,2]输出: 2 思路:排好序, 阅读全文
posted @ 2020-06-12 23:57 灭世的蜜糖 阅读(377) 评论(0) 推荐(0)
摘要:题目描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 阅读全文
posted @ 2020-06-12 22:41 灭世的蜜糖 阅读(432) 评论(0) 推荐(0)
摘要:题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶 示例 2: 输入: 3输出: 3解 阅读全文
posted @ 2020-06-12 09:30 灭世的蜜糖 阅读(1198) 评论(0) 推荐(0)
摘要:题目描述: 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环, 阅读全文
posted @ 2020-06-11 09:27 灭世的蜜糖 阅读(227) 评论(0) 推荐(0)
摘要:题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1示例 2: 输入: [4,1,2,1,2]输出: 4 javaSc 阅读全文
posted @ 2020-06-10 11:43 灭世的蜜糖 阅读(394) 评论(0) 推荐(0)
摘要:题目描述: 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] JavaScript实现 递归 /** * Definition for a binary tree node. * function TreeNode(val) 阅读全文
posted @ 2020-06-10 11:09 灭世的蜜糖 阅读(176) 评论(0) 推荐(0)
摘要:题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 JavaScript实现: 时间复杂度:O(n+m); 空间复杂度:O(n+m); 思路:递归 /** 阅读全文
posted @ 2020-06-09 08:42 灭世的蜜糖 阅读(356) 评论(0) 推荐(0)
摘要:题目描述: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[[3], [9,20], [15,7]] JavaScript实现: 阅读全文
posted @ 2020-06-07 10:47 灭世的蜜糖 阅读(1080) 评论(0) 推荐(0)
摘要:题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 JavaScript实现 阅读全文
posted @ 2020-06-06 22:17 灭世的蜜糖 阅读(819) 评论(0) 推荐(0)
摘要:题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 1. 左括号必须用相同类型的右括号闭合。2. 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true示例 2: 输入 阅读全文
posted @ 2020-06-04 19:41 灭世的蜜糖 阅读(220) 评论(0) 推荐(0)
摘要:题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 事例: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 事例: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1 阅读全文
posted @ 2020-06-01 09:37 灭世的蜜糖 阅读(277) 评论(0) 推荐(0)
摘要:题目描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 阅读全文
posted @ 2020-05-28 15:07 灭世的蜜糖 阅读(433) 评论(0) 推荐(0)
摘要:题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 阅读全文
posted @ 2020-05-19 22:58 灭世的蜜糖 阅读(321) 评论(0) 推荐(0)
摘要:题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 之前一直对JS实现链表理解不了,被算法大牛指点了一下豁然开朗。 function ListNode(x){ this.val = x; this.next = null; } 在JS中,this.val代表当前节点的值,this 阅读全文
posted @ 2019-02-16 20:23 灭世的蜜糖 阅读(6182) 评论(3) 推荐(0)