
LeetCode
文章平均质量分 79
花花脸的猫
北京邮电大学 硕士毕业程序媛一枚!
展开
-
leetcode771题
题目:You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the ...原创 2018-10-20 20:20:38 · 189 阅读 · 0 评论 -
leetcode探索动态规划(三)
买卖股票的最佳时机I给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = ...转载 2019-04-21 11:49:49 · 130 阅读 · 0 评论 -
leetcode探索动态规划(二)
矩阵中的最长递增路径给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为[1, 2, 6, 9]示例 2:输入: nums ...转载 2019-04-15 12:10:40 · 186 阅读 · 0 评论 -
括号匹配算法Java实现
**描述:**给定一个字符串,其中的字符只包含三种括号:花括号{ }、中括号[ ]、圆括号( ),即它仅由 “( ) [ ] { }” 这六个字符组成。设计算法,判断该字符串是否有效,即字符串中括号是否匹配。括号匹配要求括号必须以正确的顺序配对,如 “{ [ ] ( ) }” 或 “[ ( { } [ ] ) ]” 等为正确的格式,而 “[ ( ] )” 或 “{ [ ( ) }” 或 “( { ...转载 2019-04-22 10:20:13 · 3497 阅读 · 0 评论 -
leetcode字节跳动探索
1无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因...原创 2019-04-21 21:14:30 · 555 阅读 · 0 评论 -
leetcode探索动态规划(一)
动态规划基本思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。 这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。一个问题是该用递推、贪心、搜索还是动态规划,...转载 2019-04-13 13:15:24 · 535 阅读 · 0 评论 -
leetcode探索队列和栈(一)
对于队列,我们可以使用动态数组和指向队列头部的索引来实现,当队列数据较多时,数组的容量要求较大,一种比较好的改进方法使用数组实现循环队列。我们来看一下leetcode给出的演示:可以得出:队列满时:(tail+1)%length == head length为长度队列为空:head==tail循环队列的方法:MyCircularQueue(k): 构造器,...转载 2019-04-12 17:21:47 · 327 阅读 · 0 评论 -
leetcode探索二叉树(一)
二叉树的层次遍历层序遍历就是逐层遍历树结构。广度优先搜索是一种广泛运用在树或图这类数据结构中,遍历或搜索的算法。 该算法从一个根节点开始,首先访问节点本身。 然后遍历它的相邻节点,其次遍历它的二级邻节点、三级邻节点,以此类推。当我们在树中进行广度优先搜索时,我们访问的节点的顺序是按照层序遍历顺序的。通常,我们使用一个叫做队列的数据结构来帮助我们做广度优先搜索队列的常用方法:...原创 2019-04-08 19:46:20 · 681 阅读 · 0 评论 -
leetcode探索数组(一)
设计键哈希映射可以很好地按键分组信息。但是我们不能直接使用原始字符串作为键。我们必须设计一个合适的键来呈现字母异位词的类型。例如,有字符串 “eat” 和 “ate” 应该在同一组中。但是 “eat” 和 “act” 不应该组合在一起。字母异位词分组给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea",...转载 2019-04-11 22:14:31 · 222 阅读 · 0 评论 -
leetcode探索哈希表(一)
哈希表是一种数据结构,它使用哈希函数组织数据,以支持快速插入和搜索两个数组的交集给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不...原创 2019-04-10 16:01:32 · 275 阅读 · 0 评论 -
leetcode扔鸡蛋问题总结
扔鸡蛋问题是一道经典的面试题,他的简单一点的问法是给两个鸡蛋,一百层楼,找到最少的尝试次数,找到鸡蛋不会摔碎的临界楼层。这个问题的解法有这么几种,二分法,平方根法,解方程法,具体的解释可以看一下这个博客,这里详细说一下最优解法解方程法,假设问题存在最优解(扔鸡蛋过程),这个解的最坏情况尝试次数是x次,那么,我们第一次扔鸡蛋该选择哪一层?恰恰是从第x层开始扔,选择更高一层或是更低一层都不...转载 2019-05-16 22:52:01 · 2303 阅读 · 0 评论