上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
  2018年5月31日
摘要: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 自己的思路:如果追求思路简单,就是暴力的去求解每三个字符的和是否为0,但是有三层循环,时间复杂度太 阅读全文
posted @ 2018-05-31 16:45 Mini_Coconut 阅读(150) 评论(0) 推荐(0) 编辑
  2018年5月30日
摘要: 反转一个单链表。 示例: 思路:反转链表很简单,经常使用stack的,一下子就会想到用stack存储链表的节点,然后反向输出 另外还有一种递归的方式 阅读全文
posted @ 2018-05-30 16:14 Mini_Coconut 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 上一篇我们总结了两个字符串的一个最长操作——最长公共连续子串,现在我们来总结下另外一个最长——最长公共子序列,这个和上一个的区别在于,它不用要求子序列连续。 这个是DP的典型题, 子字符串的最优解为字符串提供了决策依据。有两个字符串s和p,设dp[i,j]为子串s[0-i]和p[0-j]的最长公共子 阅读全文
posted @ 2018-05-30 11:50 Mini_Coconut 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 前面我们已经写过关于一个字符串的最长回文子串(三层遍历,DP,Manacher法)以及无重复字符的最长子串(unorder_map或者记录字符的最后出现位置),今天我们总结下两个字符串的一个最长操作——最长公共连续子串。最重要的是连续。 (1)我们可以首先用最基本的循环遍历来求解,求解以第一个字符串 阅读全文
posted @ 2018-05-30 11:10 Mini_Coconut 阅读(416) 评论(0) 推荐(0) 编辑
  2018年5月29日
摘要: 给定一组非负整数组成的数组h,代表一组柱状图的高度,其中每个柱子的宽度都为1。 在这组柱状图中找到能组成的最大矩形的面积(如图所示)。 入参h为一个整型数组,代表每个柱子的高度,返回面积的值。 这个问题和前面我们讲过的一个盛最多水的容器很相似,不同的地方是这个边界可以不为首尾,因为内部也可能存在更大 阅读全文
posted @ 2018-05-29 22:55 Mini_Coconut 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 单调栈有以下两个性质: 1、若是单调递增栈,则从栈顶到栈底的元素是严格递增的。若是单调递减栈,则从栈顶到栈底的元素是严格递减的。 2、越靠近栈顶的元素越后进栈。 单调栈与单调队列不同的地方在于栈只能在栈顶操作,因此一般在应用单调栈的地方不限定它的大小,否则会造成元素无法进栈。 元素进栈过程:对于单调 阅读全文
posted @ 2018-05-29 22:12 Mini_Coconut 阅读(234) 评论(0) 推荐(0) 编辑
  2018年5月28日
摘要: 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 注意:你不能倾斜容器,n 至少是2。 思路:一开始我 阅读全文
posted @ 2018-05-28 22:35 Mini_Coconut 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。 示例 1: 示例 2: 阅读全文
posted @ 2018-05-28 11:13 Mini_Coconut 阅读(188) 评论(0) 推荐(0) 编辑
  2018年5月25日
摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路:这是个很简单的题目,之所以写一篇总结,是因为在编程中遇到了一点认为值 阅读全文
posted @ 2018-05-25 17:44 Mini_Coconut 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 根据一棵树的中序遍历与后序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 返回如下的二叉树: 思路:和上一篇的由前序和中序类似。后序遍历的顺序是左右根,所以最后一个元素一定是根节点。再在中序遍历中找到这个节点的位置,则根节点左边是左子树的中序遍历结果,右边是右子树的中序遍历结果。 阅读全文
posted @ 2018-05-25 17:09 Mini_Coconut 阅读(196) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页