
Algorithm
文章平均质量分 73
delphiwcdj
用代码改变生活
展开
-
最小周期串
周期字符串可能有多个周期,但是只需求出最小的一个。可以从小到大枚举各个周期,一旦符合条件就立即输出。原创 2010-06-10 13:07:00 · 2260 阅读 · 1 评论 -
Duff's Device —— 一种优化的复制方法
Duff's Device(达夫设备)原创 2011-05-19 20:30:00 · 1103 阅读 · 0 评论 -
一个将数字循环移动的问题
循环移动 不使用数组原创 2011-03-26 13:44:00 · 1314 阅读 · 1 评论 -
字母大小写转换可以不用循环吗
Maybe there is no way to convert all characters to upper or lower case without looping through the string.原创 2011-03-22 10:48:00 · 1441 阅读 · 0 评论 -
随机输出无重复字符的二维矩阵
选取不同随机数的方法:“随机扣除一个元素并把最后一个元素向上提”。原创 2011-03-16 12:51:00 · 1108 阅读 · 0 评论 -
选取不同随机数的方法
随机数 不重复原创 2011-02-23 11:00:00 · 1539 阅读 · 2 评论 -
苛刻的字符串逆转
除了参数不使用任何变量 递归 设置哨兵 使用内存 异或运算 字符串常量原创 2011-03-06 14:45:00 · 1574 阅读 · 0 评论 -
关于位图的一道典型问题
位图 空间换取时间原创 2011-01-13 14:36:00 · 859 阅读 · 0 评论 -
Codes for Job Hunt
Just a record during the job hunt.原创 2010-12-26 21:44:00 · 899 阅读 · 0 评论 -
递归逆序输出字符串
反转字符串,创新工厂原创 2011-05-30 22:07:00 · 3839 阅读 · 0 评论 -
计数与排序问题
读入一串数据的方法 排序 数组 map原创 2011-04-09 13:14:00 · 878 阅读 · 0 评论 -
蛇形填数
蛇形数组原创 2010-06-08 23:07:00 · 4779 阅读 · 9 评论 -
扑克牌斗牛游戏
2013-02-14 wcdj 大年初五,情人节过年和家人玩扑克牌斗牛游戏(地道的发音是 Dou Ou),规则很简单,每个人发五张牌,如果三张牌之和是10,20或30则称为一个牛(Ou),其余两张牌相加之和模10,若没有牛则选最大的一张牌进行大小点比较,若大小点一样则再比较黑红梅方,玩家人数不限,一个人做庄,然后拿点零花钱,后面就看各自的运气了。抽空将此游戏简单用代码实现了下,一原创 2013-02-14 16:31:11 · 9697 阅读 · 10 评论 -
关于因数分解的计算(淘宝一面试题)
2011-03-24 wcdj 题目:计算只包含因数为2, 3, 5的前N个数。例如,35 = 5*7 不符合条件,因为35还包含因数7。方法1:暴力求解,判断每个数是否符合要求时间复杂度:O(N*k),k是暴力求解次数,即符合条件的数字被除为1的次数。// 输出前N个只包含因子为, 3, 5的数// wcdj#include #include int main()原创 2011-03-24 22:07:00 · 1163 阅读 · 0 评论 -
一道关于拆分思路的算法题
2012-04-15 wcdj1912.04.14 Titanic, 100 years later http://url.cn/3FYulc题目:两个数组a[N],b[N],其中a[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];要求:1. 不准用除法运算;2. 除了循环计数值,a[N],b[N]外原创 2012-04-15 20:08:59 · 1705 阅读 · 0 评论 -
使用骰子选择7件事概率均匀的方法
2012-02-12 wcdj问题描述:一个骰子有6面,概率均匀,我有7件事要随机均匀选择,用最少的扔掷次数如何仍?问题扩展:如果我有4件事,5件事,8件事,9件事,10件事 …… n件事要选择,那么我如何用最少的扔掷次数来做到均匀分布?From: 问题来自这里思路:注意问题中的关键字:(1) 最少扔掷的次数 (2) 要求概率均匀分布用容易理解的方式原创 2012-02-12 14:05:25 · 2209 阅读 · 1 评论 -
关于标识唯一性的一段测试代码
2011-11-16 wcdj 夜深人静……一段测试代码#includeusing namespace std;const int iTotal = 2000;const int iMsgNum = 3;char szFsm[iTotal] = {0};int iFsmNo = 0;int iAdd = -1;// add factorint i原创 2011-11-16 00:54:31 · 932 阅读 · 1 评论 -
一个全排列的变形问题
全排列 递归 回溯 #include next_permutation原创 2011-04-16 18:58:00 · 1109 阅读 · 0 评论 -
模幂运算的几种解决方法
模幂运算是RSA的核心算法,最直接地决定了RSA算法的性能。针对快速模幂运算这一课题,西方现代数学家提出了大量的解决方案,通常都是先将模幂运算转化为模乘运算。原创 2010-10-28 23:59:00 · 8812 阅读 · 1 评论 -
连续子串的最大值(经典的DP问题)
注意对问题扩展和变形情况下的思考。原创 2010-10-07 21:21:00 · 13874 阅读 · 1 评论 -
XOR加密
异或运算,对称加解密算法。原创 2010-10-04 22:56:00 · 7170 阅读 · 0 评论 -
阶乘的精确值计算
计算n!,n最大为1000。原创 2010-06-11 15:55:00 · 1348 阅读 · 0 评论 -
Prime Number
所谓素数是,只能被1和它自身整除的、且大于1的整数。原创 2010-06-09 17:16:00 · 1169 阅读 · 0 评论 -
第一个最长的回文子串
输入一个字符串,求出其中第一个最长的回文子串。原创 2010-06-08 21:46:00 · 1756 阅读 · 2 评论 -
布雷程序
要求掌握程序循环和算法设计的基本方法。原创 2010-06-01 20:36:00 · 1117 阅读 · 0 评论 -
俄罗斯套娃奖品
迷宫问题,回溯法原创 2010-06-01 20:54:00 · 1320 阅读 · 0 评论 -
小球下落
二叉树的应用原创 2010-07-04 18:41:00 · 2853 阅读 · 1 评论 -
十进制字符串转化为十六进制字符串
1,自定义函数解析。2,使用库函数sprintf原创 2010-07-01 23:54:00 · 4623 阅读 · 1 评论 -
函数对象(Function Objects)
定义了调用操作符的类,其对象常称为函数对象,即它们是行为类似函数的对象。自己定义的函数对象和标准库定义的函数对象原创 2010-06-27 01:01:00 · 1237 阅读 · 0 评论 -
加法进位
在32位的系统中,int的上限约为21亿,可以保存所有9位整数,因此可以用int型变量来保存输入。然后,每次把a和b分别模10就能获取它们的个位数,从而逐位相加并注意进位,就可以统计总共需要进位的次数。原创 2010-06-11 17:43:00 · 2017 阅读 · 0 评论 -
字母重排
不管是把字符串中的各个字符排序还是把所有字符串排序,可以使用stdlib.h中的排序函数qsort。使用库函数排序的代码量并不比用冒泡排序法小,但速度却快很多(原因是什么呢?)。原创 2010-06-14 01:05:00 · 2215 阅读 · 0 评论 -
二叉树重建
输入一棵二叉树的先序遍历和中序遍历序列,输出它的后序遍历序列。递归程序。原创 2010-09-08 17:21:00 · 1316 阅读 · 0 评论 -
数据生成器
随机数发生器,“放大法”,srand(time(NULL)),rand()%n,使用时需要包含头文件cstdlib和ctime。原创 2010-06-20 16:10:00 · 1518 阅读 · 1 评论 -
铁轨
栈的应用,数组模拟栈,STL栈原创 2010-06-19 21:29:00 · 834 阅读 · 0 评论 -
卡片游戏
队列的应用,数组模拟队列,循环队列,STL队列原创 2010-06-17 22:59:00 · 1442 阅读 · 0 评论 -
6174问题
排序与检索原创 2010-06-13 16:22:00 · 954 阅读 · 1 评论 -
atof的一种实现方法
需要注意两点:[1] float的精度是6位有效数字,范围约为:10^-38 ~ 10^38,占用4个字节。[2] double的精度是15位有效数字,范围约为:10^-308 ~ 10^308,占用8个字节。原创 2010-06-12 14:35:00 · 1313 阅读 · 0 评论 -
基于位运算的排序算法
今天偶然在论坛上遇到一道基于位运算的排序算法。一般牵涉到位运算大多数人都会感到头痛,因为人通常习惯与十进制打交道,而计算机才擅长与二进制打交道。将代码写成位运算的形式,可以提高代码的执行效率,但是却降低了代码的可读性,因此要想读懂关于位运算的代码,就必须了解它的一些基本用法和意义。下面程序可以实现对所输入的0~10000031的数字进行排序(最多可以输入10000032个数字)分析原创 2010-01-14 18:25:00 · 2203 阅读 · 0 评论