摘要:
写一个函数int foo(int n),对于给定的n,求出对于任意{x,y,z}>=0,1x+2y+5z=n,组合数#include<iostream>usingnamespacestd;intfoo1(intn){intcount=0;for(intz=0;z<=n/5;z++){for(inty=0;y<=(n-5*z)/2;y++){for(intx=0;x<=(n-5*z-2*y);x++){count++;}//这个循环可以替换成count += n-5*z-2*y + 1}}returncount;}intfoo2(intn){intcount= 阅读全文
摘要:
[转] 程序员面试、算法研究、编程艺术、红黑树4大系列集锦与总结 作者:July--结构之法算法之道blog之博主。 时间:2010年10月-2011年6月。 出处:http://blog.csdn.net/v_JULY_v 。 声明:版权所有,侵犯必究。前言 开博已过8个月,回首这8个月,发现自己在本blog上着实花费了巨大的时间与精力,写的东西可能也够几本书的内容了。希望我真真正正的为读者提供了实实在在的价值与帮助。无私分享,造福天下 以下是本blog内的微软面试100题系列,经典算法研究系列,程序员编程艺术系列,红黑树系列4大经典原创系列作品与一些重要文章的集锦。有任何问题,欢迎不吝指正 阅读全文
摘要:
Trie树 Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。一.Trie树的原理 利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因此可以降低查询操作的复杂度。 下面以英文单词构建的字典树为例,这棵Trie树中每个结点包括26个孩子结点,因为总共有26个英文字母(假设单词都是小写字母组成)。 则可声明包含Trie树的结点信息的结构体:#define MAX 26typedef struct TrieNode //Trie结点声明 { bool isStr; ... 阅读全文