随笔分类 -  数据结构与算法

摘要:题目: 关键在于思路转换:不要想着一个数字一个数字的打印,而是一行一行的打印。一个七段数码管数字一共五行,n个数字也是五行,因此五个数组就够了。 其中1,3,5行显示横,2,4行显示竖。 效果: 阅读全文
posted @ 2017-11-09 12:40 duanguyuan 阅读(807) 评论(0) 推荐(0) 编辑
摘要:题目很简单,今天看了下Java泛型的东西,用泛型改写了一下: 阅读全文
posted @ 2016-12-23 11:55 duanguyuan 阅读(274) 评论(0) 推荐(0) 编辑
摘要:一 利用不均匀硬币产生等概率问题描述:有一枚不均匀的硬币,抛出此硬币后,可用foo()表示其结果。已知foo()能返回0和1两个值,其概率分别为0.6和0.4。问怎么利用foo()得到另一个函数,使得返回0和1的概率均为0.5。问题分析:分析连续抛出两次硬币的情况,正反面的出现有四种情况,概率依次为... 阅读全文
posted @ 2015-04-22 20:43 duanguyuan 阅读(5114) 评论(0) 推荐(0) 编辑
摘要:1、 概述Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”。Trie树可以利用字符串的公共前缀来节约存储空间。如下图所示,该trie树用10个节点保存了6个字符串tea,ten,to,in,inn,int:在该trie树中,字符串in,inn和int的公共前缀是“in”,因此可以只存储一份“in”以节省空间。当然,如果系统中存在大量字符串且这些字符串基本没有公共前缀,则相应的trie树将非常消耗内存,这 阅读全文
posted @ 2014-04-04 09:17 duanguyuan 阅读(212) 评论(0) 推荐(0) 编辑
摘要:1. 两者区别 约定:在本文中用 LCStr 表示最长公共子串(Longest Common Substring),LCSeq 表示最长公共子序列(Longest Common Subsequence)。 子串要求在原字符串中是连续的,而子序列则没有要求。例如: 字符串 s1=abcde,s2=ad 阅读全文
posted @ 2013-08-29 04:47 duanguyuan 阅读(994) 评论(0) 推荐(0) 编辑
摘要:理解 vector 是一个容器,是一个数据集,里边装了很多个元素。与数组最大的不同是 vector 可以动态增长。用 vector 实现大数运算的关键是,以 string 的方式读入一个大数,然后将字串的每一个字符 s[i] 以 int 形式赋给 vector a 中的每一个元素。然后将 a[i] ... 阅读全文
posted @ 2013-08-27 19:32 duanguyuan 阅读(3266) 评论(0) 推荐(2) 编辑
摘要:题目:输出第 n 个斐波纳契数(Fibonacci)方法一、简单递归这个就不说了,小n怡情,大n伤身啊……当n=40的时候,就明显感觉到卡了,不是一般的慢。 1 //输出第n个 Fibonacci 数 2 #include 3 using namespace std; 4 5 long long Fibonacci(int n) 6 { 7 if(n>n, n) 16 cout 3 #include 4 #define MAXN 300 5 using namespace std; 6 7 long long F[MAXN]; 8 int i; 9 l... 阅读全文
posted @ 2013-08-25 19:17 duanguyuan 阅读(470) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示