算法
bh_xiaoxinba
这个作者很懒,什么都没留下…
展开
-
数组---求数组组成的集合的所有子集
题目给定一个数组,求数组的所有子集,要求每个子集中的元素是升序的; 如:[1,2,3] 则: [] [1] [2] [3] [1,2] [1,3] [2,3] [1,2,3]解法1递归,利用二叉树思想; 第0层为空集;第i层表示将数组第i个元素是否加入到集合中,左子树表示加入,右子树表示不加入; 最后,每个叶子表示一个子集;如下所示:原创 2016-09-18 00:01:54 · 2479 阅读 · 0 评论 -
动态规划问题系统---edit-distance
题目给定2个字符串,str1,str2,求这两个字符串的最小Edit Distance; Edit Distance:用于衡量两个strings之间的相似性。 两个strings之间的Minimum edit distance是指把其中一个string通过编辑(包括插入,删除,替换操作)转换为另一个string的最小操作数。分析那么如何找到两个strings的minimun edit dista原创 2016-09-18 01:10:55 · 290 阅读 · 0 评论 -
算法---求数组的所有集合
第一种情况题目给出的数组中没有重复元素,求所有的集合,并且每个集合递增;分析递推 每个集合,每个元素加入或不加入实现/* * 求数组的所有子集合 * 1)数组中没有重复元素 * 对于每个元素,是否加入 * 递归 * 从[]开始,遍历每个元素; * 对于每个元素,加入后递归 * 移除,判断下一个元素 *原创 2016-09-19 00:16:16 · 450 阅读 · 0 评论 -
数据结构和算法数组系列---求数组的笛卡尔积
题目 有n个数组,每个数组中的元素个数不同,求这n个数组的所有排序组合。 比如,有3个数组,A(a1,a2,a3),B(b1,b2),C(c1,c2);则笛卡尔积为:a1b1c1,a1b1c2,a1b2c1,….思路 设置一个数组count[n],对应n个数组,count[i]表示取第i个数组的第count]i]个元素;初始化count均为0,遍历每个数组,对于第i个数组,从该数组中取出第co原创 2016-10-11 22:22:24 · 3178 阅读 · 0 评论 -
字符串系列---word search
题目 已知:一个二维字符矩阵,一个单词; 输出:该单词是否可以从二维矩阵中拼接出来?拼接规则:从矩阵的某一行的某个字母开始,持续向临近的字符扩展(向上,向下,向左,向右),直至拼接出该单词。若可以拼出,则输出false,若拼不出,则输出false; 例如: 【A,B,C,D,E E,F,G,H,U A,B,S,D,F 】 单词为ABCGH,输出true; 单词为FG原创 2016-10-14 14:19:36 · 323 阅读 · 0 评论