算法
文章平均质量分 69
yezipeipei
这个作者很懒,什么都没留下…
展开
-
大数问题:求N的阶乘
最近看了一些关于求大数N的阶乘的方法,有点心得,特书写出来,共同交流。题目:输入一个正整数N,输出N的阶乘。N的范围是0-1000.1000的阶乘位数有两三千位,显然是很惊人的大数据。最开始,想到的是用字符串来表示,然后实现出字符串的加法和乘法。这样用char[5000]足可以表示结果,占用内存也只是40KB而已。但要实现字符串的乘法,比较繁琐耗时,所以有点不太可取。后来看到网上有很多解法,其中比原创 2013-09-04 13:51:36 · 903 阅读 · 0 评论 -
求字符串的所有组合输出
剑指Offer一书中面试题28求字符串的排列,给出了递归算法程序。其中扩展题目中提到了,求字符串的所有组合。比如输入字符串:“abc”,输出应为:a、b、c、ab、ac、bc、abc.借用书上的解题思路:如果输入n个字符,则这n个字符能构成长度为1、长度为2、......长度为n的组合。在求长度为m的组合时,可考虑将这n个字符分成两部分:第一个字符和其余所有的字符。如果组合里包含第一个字符,则原创 2013-08-27 13:11:33 · 609 阅读 · 0 评论 -
九大排序汇总
最近整理了面试笔试中经常出现的九大排序:冒泡排序(bubble)、选择排序(select)、插入排序(insert)、希尔排序(shell)、堆排序(heap)、快速排序(quick)、合并排序(merge)、基数排序(radix)、桶排序(bucket)。根据是否利用比较的思想进行排序,可将这些排序分为两大类。基于比较的排序:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、合并排序;不原创 2013-09-09 15:16:28 · 564 阅读 · 0 评论 -
字符串问题:输出第二个字符串在第一个字符串中的连接次序
问题描述:输入两个字符串,输出第二个字符串在第一个字符串中的连接次序。如输入:abdbcc和abc,输出:125,126,145,146问题分析:首先得计算出第二个字符串各个字符在第一个字符串中出现的位置,这个用一个二维的数组或容器就可以实现。比如定义vector> data,求得的位置都存储在了这个data中:data[1]存放字符‘a’在串1中的位置{1};data[2]存放字符‘b’在串原创 2013-09-09 16:33:50 · 2535 阅读 · 1 评论