
算法
离谱、
喜欢编程,正在学习机器学习,数据挖掘
展开
-
动态规划思想
动态规划思想原创 2020-04-10 09:29:14 · 174 阅读 · 0 评论 -
python实现后缀数组排序
#sa[i]表示排名为i的后缀的其实字符下标为sa[i]def build_sa(s,n,m, c, sa, x, y): for i in range(0,n): x[i] = s[i] c[ord(x[i])] += 1 for i in range(1,m): c[i] += c[i-1] for i in range...原创 2018-07-03 19:42:32 · 1001 阅读 · 0 评论 -
动态规划时间复杂度
一、一维动态规划问题 一维动态规划时间复杂度一般有O(n)和O(n^2)两种,时间复杂度取决于状态转移方程。 1.如果第i个状态的确定需要利用前i-1个状态,即dp[i]由dp[i-1],dp[i-2],...,dp[0]决定,那么此时的时间复杂度为O(n^2)。如 leetcode139.单词拆分:139. 单词拆分给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDic...原创 2018-05-21 19:54:35 · 34874 阅读 · 1 评论 -
牛牛的背包问题
链接:https://www.nowcoder.com/questionTerminal/bf877f837467488692be703735db84e6来源:牛客网牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也...原创 2018-04-27 11:07:03 · 848 阅读 · 0 评论 -
字符串全排列的回溯法实现
问题描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 如下图所示,忽略紫色字体关于swap部分,因为这张图片中涉及的swap是另外一种思想的方法,而我这里是利用的不涉及swap的方法,只是借用这张图片进行描述。如果一个元素被访问过,则标记为红色...转载 2018-04-11 12:58:00 · 2038 阅读 · 1 评论