算法
LindaMan_
人生苦短 .....
我用python
展开
-
三次样条+线性插值
三次样条插值是要解决,在模拟函数的时候,插值节点处不平滑的问题 S(x)是f(x) (x0 .... xn)的三次样条插值函数,则S(x)要在区间(xj,xj+1)上满足S(xj-0) = S(xj+1+0) , S'(xj-0) = S'(xj+1 + 0), s''(xj - 0) = S''(xj+1 +0), 这样在每一个这样的区间建立一个等式条件,同时在两个端点出处得到原创 2017-05-25 17:39:11 · 4664 阅读 · 5 评论 -
斐波那契数列的三种实现方法
斐波那契数列是学习算法碰到的,以自己当前的知识面还不足以想到通过升高一个维度来降低算法的时间复杂度. 昨天再看剑指offer的时候,在面试题9中提到了三种实现计算斐波那契数列的方法.在这里实现一个三种做法貌似还有一个O(1)的计算方法,也就是斐波那契数列是可以直接推到出来的. 1.常规的递归算法 def fib(n): if n <= 0: retu原创 2017-07-27 12:56:15 · 797 阅读 · 0 评论 -
复杂链表的复制
坚持每天两道剑指offer,今天看到复杂链表的复制.之前是没接触过这类的题.看到提出的三种解法,也是开了自己的脑洞. 第三种解法,只用O(n)的复杂度解决问题, 并且不需要额外的空间. 记录一下三种解法,最后在实现最后一种 复杂链表的结构 struct CompList{ int data; CompList* next; CompList*原创 2017-08-06 13:15:21 · 306 阅读 · 0 评论 -
python解决最长回文子串问题
今天在刷题的时候, 遇到了这道最长回文子串问题 Input: "babad" Output: "bab" Note: "aba" is also a valid answer. (1)第一次暴力解决,结果直接超时 def longestPalindrome(self, s): self.start = 0 self.end = len(s) -原创 2017-08-24 21:09:27 · 1213 阅读 · 0 评论 -
leetcode 15 3sum问题
刚刚完成了leetcode的15题, 在一个数组里找到所有的三个数字和为0的序列. 看完问题, 第一个想法, 三次循环暴力啊, 但只是想想 我想的第二种方法, 和他们评论最高的相似, 只是没有想去排序, 结果还是以三次方终结....... 所以总结来说,当一个问题的复杂度很高的时候, 尤其是与数字有关, 我们是可以考虑通过排序, 来降低整体的复杂度. 在数字有了顺序后, 遍历和判断结合在一起原创 2017-09-13 14:38:35 · 263 阅读 · 0 评论