算法
jankyee
菜鸟进阶中。。。。
展开
-
常见算法问题之最长公共子串问题(Longest common substring problem)
对于寻找两个字符串的最长公共子字符串的问题,暴力搜索的方式的时间复杂度将高达O(n^3), 而通过后缀树的方式可将时间复杂度降低到O(n^2)。以下是我实现的C++源码:#include <iostream>#include <string>#include <vector>using namespace std;class Solution{public: int FindLong原创 2017-02-16 23:09:14 · 1455 阅读 · 0 评论 -
最长回文子串问题
最长回文子串问题是一个经典问题,成熟的算法有很多,这篇博客采用的方案是基于Longest common substring的,关于Longest common substring可参考 这里。代码也是参照上篇博客修改的#include <iostream>#include <string>#include <vector>using namespace std;class Solution {原创 2017-02-17 16:52:18 · 283 阅读 · 0 评论 -
常见算法温习之快速排序
博客内容中的排序以升序排列为例1. 算法理解快排的基本思想是:从原始序列Array(集合S)中选取一个元素(称之为枢纽元pivot)将剩余的元素分为两个集合S1和S2,其中S1中元素全都小于或等于pivot,S2中的元素全都大于或等于pivot递归分别对S1和S2执行上述两步1.1 选取pivot 通常不加考虑地可以直接选取序列的第一个元素作为pivot,但是极端情况下,当原始序列恰好以降原创 2017-02-12 17:37:12 · 284 阅读 · 0 评论 -
常见算法问题之NextPermutation
题目来源于leetcode 311. 问题描述依据字典序升序,找出序列的下一序列。例如(左边是输入,右边是输出):1 2 3 --- 1 3 21 5 1 --- 5 1 13 2 1 --- 1 2 32. 算法描述for (i = 0; i < size(array); i++) j = max{i | array[i] < array[i + 1]};for (i = 0; i <原创 2017-02-12 22:52:54 · 391 阅读 · 0 评论 -
记一道数学题。。。
题目来源于实验室某大神 的女票 的面试题。。。解题思路参照另一大神 这是一道递归题, 记n匹马的期望是f(n),显然有f(1)=1, f(2)=1/2。n=3时,相当于在n=2的基础上又增加了一匹马,则这匹马的速度有三种情况(最慢,适中,最快),概率各为1/3,则有f(3)= 1/3 * 1 //最慢时,后面还有0匹马 + 1/3 * (1+f(1)) //适中时原创 2017-02-15 21:42:43 · 439 阅读 · 0 评论 -
【转载】Particle Filter Tutorial 粒子滤波:从推导到应用(全)
博客原作者是 白巧克力亦唯心, 原文链接是:http://blog.csdn.net/heyijia0327/article/details/40899819 感谢原作者的辛勤工作!前言: 博主在自主学习粒子滤波的过程中,看了很多文献或博客,不知道是看文献时粗心大意还是悟性太低,看着那么多公式,总是无法把握住粒子滤波的思路,也无法将理论和实践对应起来。比转载 2017-03-26 22:35:26 · 889 阅读 · 0 评论 -
svm推导
自己推一遍才印象深刻,CSDN对公式的支持很不好,所以在本地用latex写,并转换成了图片上传原创 2017-05-13 14:14:32 · 441 阅读 · 0 评论 -
Leetcode127: wordLadder I
Problem descriptionGiven two words (beginWord and endWord), and a dictionary’s word list, find the length of shortest transformation sequence from beginWord to endWord, such that:Only one letter can b原创 2017-04-23 12:18:56 · 929 阅读 · 0 评论