首页 > 其他 > 详细

各类算法的一个例子

时间:2014-03-01 01:19:15      阅读:420      评论:0      收藏:0      [点我收藏+]

用算法实现一个正整数的分解质因数。如90=2*3*3*5。

解:

1、用该正整数除以除数(初始值为2)后跳到2;

2、如果能整除且结果不等于1则跳到3,如果不能整除则除数+1后跳到1,如果能整除且结果为1则跳到4;

3、该正整数等于自身除以除数,且记录下当前除数后跳到1;

4、输出之前记录的除数即可。

 

 一串首尾相连的珠子共m个,其中有n中颜色,求出包含全部这n种颜色的最短的串。

解:

两个指针,一个指向头,一个指向尾

从任意一个珠子开始,将头指针指向开始的地方,尾指针往后找,直到找到所有颜色为止。开一个长度为n的数组,在找的过程中记录颜色i最迟出现的位置。找到第一个满足所有颜

色的串之后,头指针移动,去掉开头的珠子,判断目前头尾指针所包含的珠子是否拥有n种颜色就用刚才开的那个数组判断。如果头指针需要去掉一个后面没有的颜色的珠子,那么

需要尾指针向后移动,直到找到这个颜色为止。这样,当头指针走过一圈之后,各种符合n种颜色的串长度可以通过比较记录下最小值了。

 

求一棵2叉数的高度。

解:

用递归解决。递归函数:如果为空则返回0,非则返回左右子树中较高的结果。最后结果+1。

待续... 

各类算法的一个例子,布布扣,bubuko.com

各类算法的一个例子

原文:http://www.cnblogs.com/dixonyy/p/3573088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!