算法分析
aklixiaoyao123
这个作者很懒,什么都没留下…
展开
-
给定数组 str[],循环左移m位。即如果str="ABCDEF",循环左移2位得到 "CDEFAB"
题目:给定数组 str[],循环左移m位。即如果str="ABCDEF",循环左移2位得到 "CDEFAB"算法:使用两个倒序,倒序AB得到BA,倒序CDEF得到FEDC,最后全部BAFEDC全部倒序CDEFAB#include #include using namespace std;void reverse(char *str,int left,int right)转载 2011-12-19 11:02:53 · 745 阅读 · 0 评论 -
C语言求把100元换成20元,10元,5元的纸币.要求每种纸币至少有一张。以及最少张数
求最少张数:#include #include void main(void) { int n5,n10,n20; int m5,m10,m20; int min,count=0 for (n5=0;n5<20;n5++) { for (n10=0;n10<10;n10++) { for (n20=0;n20<5;n20++)原创 2011-12-19 09:44:33 · 17626 阅读 · 0 评论 -
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
法1:如果要知道一个字符是否只出现过一次,必须遍历一次字符串知道所有字符出现过的情况。在遍历中要用数组统计每个字符的出现次数,到最后将,再遍历一遍数组,得到出现次数为1的第一个字符,取出。空间复杂度:O(1)时间复杂度:O(n) 我们创建一个长度为256的数组,每个字母根据其ASCII码值作为数组的下标对应数组的对应项,而数组中存储的是每个字符对应的次数转载 2011-12-19 09:26:34 · 3211 阅读 · 0 评论 -
两个数交换算法(不需要临时变量)
两个数交换算法(不需要临时变量)两个数交换算法(包含不用第3个变量而直接交换的情况)2006-12-17 20:07对两个数进行交换,在C中可采用指针实现,而在C++可使用引用来实现,无论是用指针还是引用,都要借助第3个变量。本文将介绍两种直接交换的算法******************************* 后附有完整算法和测试程序方法一:采用整数的加(减)法实现,转载 2011-12-19 10:58:13 · 4500 阅读 · 0 评论 -
NSGA-2学习笔记
NSGA-2学习笔记分类: 算法 2010-04-17 21:05 341人阅读 评论(1)收藏 举报 NSGA2主要是对NSGA算法的改进。NSGA是N. Srinivas 和 K. Deb在1995年发表的一篇名为《Multiobjective function optimization using nondominated sorting genetic al转载 2012-02-06 15:41:56 · 1749 阅读 · 0 评论