算法
文章平均质量分 62
AstrayLinux
菜鸟,菜鸟!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空
将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空,m>=n 盒子不能为空,所以可以当成将m-n个球放到n个盒子里,盒子可以为空。 比如将10个球放到5个盒子里,可以当成5个球放到5个盒子里,盒子能为空。接着,再分情况,将球分为 (5,0,0,0,0) (4,1,0,0,0)或(2,3,0,0,0) (3,1,1,0,0)或(2,2,1,0,0) (2,1,1,1,0)原创 2012-03-31 16:58:23 · 13558 阅读 · 0 评论 -
两个指针(位置)的妙用
使用两个指针可以轻松的解决许多算法问题,归纳出如下几种 1、 判断链表是否带环 带环链表的判断是链表中经常考察的内容。一个循环链表可以无休止地遍历下去。我们可以定义两个指针,一个快指针一个慢指针,如果在遍历到尾端前二者相遇,那么链表就是有环链表 [cpp] view plaincopy bool haveCycle(LinkList * Head) { i转载 2012-04-01 12:36:06 · 1008 阅读 · 0 评论 -
任何一个正整数都可以用2的幂次方表示,转化
任何一个正整数都可以用2的幂次方表示. 例如:137=2^7+2^3+2^0 同时约定次方用括号来表示,即a^b可表示为a(b) 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2^0 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=2^10+2^8+2^5+2+1原创 2012-10-27 12:04:32 · 11424 阅读 · 0 评论
分享