自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WG's 学习日志

Java,算法,数据结构,设计模式,学习经验分享

  • 博客(5)
  • 收藏
  • 关注

原创 字符串查找之 KMP 算法思路讲解和代码实现

算法介绍KMP 算法是一种改进的字符串匹配算法,由 D.E.Knuth,J.H.Morris 和 V.R.Pratt 提出的。KMP 算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的,KMP 算法的时间复杂度 O(m+n)。相同前后缀KMP 算法之所以能够快速匹配,主要是因为在迭代过程中并不是逐个查找,而是根据模式串的最长相同前后缀表进行跳跃查找。这里的相同前后缀指的是字符串中前缀和后缀相同的子串,不包括整个字符串。示例 1:“aba”,“a”既是“aba”的

2020-06-22 08:07:03 386

原创 LeetCode 238. 除自身以外数组的乘积之前后缀乘积表解题思路

题目描述给你一个长度为  n  的整数数组  nums,其中  n > 1,返回输出数组  output ,其中 output[i]  等于  nums  中除  nums[i]  之外其余各元素的乘积。示例:输入: [1, 2, 3, 4]输出: [24, 12, 8, 6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内

2020-06-15 15:20:37 126

原创 LeetCode 990. 等式方程的可满足性之并查集和深度优先搜索解题思路

题目描述给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“a==b” 或  “a!=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回  true,否则返回 false。示例 1:输入:[“a==b”,“b!=a”]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无法满

2020-06-15 14:40:46 195

原创 LeetCode 面试题 46. 把数字翻译成字符串之动态规划解题思路

题目描述给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258 有 5 种不同的翻译,分别是“bccfi”, “bwfi”, “bczi”, “mcfi”和“mzi”提示:0 <= num < 231题目链接:https://leetcode-cn

2020-06-15 14:39:13 217

原创 LeetCode 32. 最长有效括号之动态规划和记忆化搜索解题思路

题目描述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”题目链接:https://leetcode-cn.com/problems/longest-valid-parentheses/解题思路一、记忆化搜索建立一个数组 dp[s.length],其中 dp[i]表示以 s[i]结尾的

2020-06-15 14:37:10 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除