![](https://img-blog.csdnimg.cn/20190228144707456.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法导论
介绍一些经典的算法,并对其进行分析、证明
非典型废言
苯环碳碳键键能能否否定定论一
展开
-
剑指Offer
1. 二维数组中的查找分析:直接暴力就完事了,只有前面class定义的话是会报错的,加上后面的就不会了,我也不知道错在哪。# -*- coding:utf-8 -*-class Solution: # array 二维列表 def Find(self, target, array): # write code here for i in ...原创 2019-07-26 21:06:41 · 222 阅读 · 0 评论 -
LeetCode——动态规划
目录Easy难度Medium难度Easy难度Easy难度的都是一维DP,前面几道都是我们在学习dp的时候经常会遇到的例题。我认为dp的关键在于最优子结构的选择,最优子结构选择好了对应的状态转移就可以很容易的求解。建议把一些常用的最优子结构背下来(就跟当初背快排一样),遇到类似的题目直接套用或者改变就好了。我的dp解题思路为 确定使用动态规划->确定最优子结构->确定状态...原创 2019-06-19 22:33:10 · 307 阅读 · 0 评论 -
分治法解决最大子数组(Maximum subarray)问题
目录1最大子数组和定义2 最大子数组和的算法3 最大子数组和算法伪代码4 算法性能分析5 分治问题的特点1最大子数组和定义最大子数组是求在数组A中找到一个连续非空且子数组元素具有最大和值的问题。举个例子,如图所示,有一个数组,其中包含有正数和负数(如果一个数组中只有正数或者只有负数,那么其最大子数组和没有意义),那么其中用红线圈出来的就是其最大子数组,其最大子数...原创 2019-03-10 13:28:20 · 4098 阅读 · 1 评论 -
动态规划解决最长公共子序列(Longest Common Subsequence, LCS)问题
目录1 LCS定义2 LCS的算法3 LCS的算法的证明4 LCS伪代码5倒推法重构LCS6 动态规划的特点1 LCS定义假设有两个序列 x[1,..., m] 和 y[1,...,n]分别为x: A B C B D A By: B D C A B A很容易观察出X,Y的最长子序列为:BDAB,BCAB,BCBA。这里要说的是,子序列只要字符在原始序...原创 2019-02-28 11:30:52 · 637 阅读 · 0 评论