- 博客(7)
- 收藏
- 关注
原创 【leetcode】字符串的常见算法问题总结(LIS、LCS、LCP、LPS、ED、KMP)
字符串有很多比较经典的算法问题,例如:LIS(最长递增子序列)、LCS(最长公共子序列、最长公共子串)、LCP(最长公共前缀)、LPS(最长回文子序列、最长回文子串)、ED(最小编辑距离,也叫 “Levenshtein 距离”)、 KMP(一种字符串匹配的高效算法)。上面列举的经典问题,在 Leetcode 中都有对应题型,这些也是笔试面试经常会遇到的基本题型。上面列举的三个经典匹配算法中,KM...
2018-10-09 00:45:41 6703 1
原创 排列组合的 python 实现
排列组合是数学中很基本的知识点。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当 m=n 时所有的排列情况叫全排列。组合:从n个不同元素中任取m(m≤n)个元素,叫做从n个不同元素中取出m个元素的一个组...
2018-10-08 20:03:12 9237 2
原创 从十进制到二进制、八进制、十六进制,延伸到 K 进制 ( Python 编程)
将十进制转换成其它进制,是怎么进行的呢?下面来详细叙述一下:先来看十进制的表示。举个例子,666 这个数字,我们的读法是 “6百6十6”,意味着它是由各个位数(百位、十位、个位)上的数字累加成的,写成式子,表示如下:666=6×102+6×10+6666 = 6\times10^2+6\times10+6666=6×102+6×10+6可以看出组成十进制数的各个数字恰好是右边式子(多项式...
2018-10-05 10:54:55 2106
原创 【leetcode】 target sum 与 Subset sum
Leetcode中的 target sum 问题其实可以转化为 Subset sum。关于Subset sum,可以参考我的前一篇博客 Ksum 与 Uncertain sum (子集和问题 Subset sum )。先贴一下 Leetcode 中关于 target sum (Leetcode 494)的问题描述:You are given a list of non-negative in...
2018-10-02 19:51:05 841
原创 Ksum 与 Uncertain sum (子集和问题 Subset sum )
上一篇博客【Leetcode】从 2sum 到 3sum, 4sum, Ksum 中介绍了Ksum,就是 “一个数组中的K个数之和等于给定数” 的问题。如果进一步来说,给定一个数组(元素不重复),请问是否存在某些数之和等于给定数?Ksum 是固定了元素的数量为K个,很容易去思考,至少知道一个暴力解的K层循环。但是如果并不给定K,即参与求和的元素个数不确定(uncertain),只是某些元素和为给...
2018-10-01 19:51:16 690
原创 【Leetcode】从 2sum 到 3sum, 4sum, Ksum
在上一篇博客【Leetcode】2sum 中,已经介绍了2sum的问题以及相应解法,现在来看看由这个问题延伸出来的3sum,4sum以及Ksum。首先来看3sum,这个问题在Leetcode中也有一个问题形式(Leetcode 15),如下:Given an array nums of n integers, are there elements a, b, c in nums such t...
2018-10-01 16:32:54 538
原创 【Leetcode】2sum
2sum是Leetcode上很经典的题,它可以延伸到3sum,4sum以及Ksum,在面试的时候很多面试官喜欢考这样的类型问题。在后面的博客中我会讲解它的延伸情况,这里先来看看2sum。先贴一下Leetcode上面(Leetcode 1)关于2sum的描述:Given an array of integers, return indices of the two numbers such t...
2018-09-30 14:48:33 471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人