摘要: 给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。 示例: 输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, 阅读全文
posted @ 2019-07-13 17:01 YF-1994 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入: [1,2,3] 1 / \ 2 3输出: 阅读全文
posted @ 2019-07-13 15:36 YF-1994 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 堆,是一种完全二叉树的树状结构,分为小根堆与大顶堆。本文论述以及代码实现都是小根堆,大根堆同理。 如上图所示,我们可以看到一个完全二叉树,而每个结点的编号与其左右儿子的关系为(假设某结点的编号为u):left=2*u,right=2*u+1。 堆有如下的操作: 1.建堆 2.向下调整 3.向上调整 阅读全文
posted @ 2019-07-13 15:04 YF-1994 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 阅读全文
posted @ 2019-07-13 01:09 YF-1994 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 示例 1: 输入: [1,2,0]输出: 3示例 2: 输入: [3,4,-1,1]输出: 2示例 3: 输入: [7,8,9,11,12]输出: 1说明: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。 算法:我们仅考虑大于0小于等于nums,size()的数,将它们放到各自的位置 阅读全文
posted @ 2019-07-13 01:01 YF-1994 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2: 输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 算法:我们用两个变量分别记录左右括号的长度,先从左到 阅读全文
posted @ 2019-07-13 00:49 YF-1994 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长度 length = 5, 并 阅读全文
posted @ 2019-07-13 00:38 YF-1994 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前 阅读全文
posted @ 2019-07-13 00:30 YF-1994 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。 返回滑动窗口最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解 阅读全文
posted @ 2019-07-13 00:25 YF-1994 阅读(289) 评论(0) 推荐(0) 编辑