写代码是一种艺术,甚于蒙娜丽莎的微笑!

不拼搏,枉少年!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  198 随笔 :: 5 文章 :: 85 评论 :: 81万 阅读

11 2015 档案

摘要:一个引子 如何求得a的b次幂呢,那还不简单,一个for循环就可以实现! 那么如何快速的求得a的b次幂呢?上面的代码还可以优化吗? 当然是ok的!下面就介绍一种方法-二分求幂。 二分求幂 所谓二分求幂,即是将b次幂用二进制表示,当二进制位k位为1时,需要累乘a的2^k次方。 下面优化一下上面的代码: 阅读全文
posted @ 2015-11-30 21:36 RunningSnail 阅读(3162) 评论(2) 推荐(1) 编辑

摘要:题目描述 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。 输入 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出 一个整数 样例输入 6 10 样例输出 1 题目来源:上交计算机研究生机试真题 分析一下:首先从n和a的取值范围可以知道,n!和a^k的数值 阅读全文
posted @ 2015-11-30 16:47 RunningSnail 阅读(1117) 评论(1) 推荐(0) 编辑

摘要:问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。 现在雷雷知道 阅读全文
posted @ 2015-11-27 16:45 RunningSnail 阅读(351) 评论(0) 推荐(0) 编辑

摘要:概念 数组在程序设计中应用十分广泛,可以用不同类型的数组来存储大量相同类型的数据。创建数组的方式一般有三种: 全局/静态范围的数组、局部变量数组、申请堆空间创建的数组。其中,全局/静态范围的数组以及局部变量数组都属于静态数组,从堆中申请空间建立的数组为动态数组。 静态数组和动态数组的区别 1、静态数 阅读全文
posted @ 2015-11-27 16:39 RunningSnail 阅读(9427) 评论(0) 推荐(0) 编辑

摘要:next数组的历史 有关字符串的模式匹配算法中,比较容易写出的是朴素的匹配算法也就是一种暴力求解方式,但是由于其时间复杂度为子串长度和主串长度的乘积,例如strlen(subStr) = n,strlen(mainStr) = m,则其时间复杂度为O(mn)。 为了能够得到更有效的匹配算法,D.E. 阅读全文
posted @ 2015-11-26 11:07 RunningSnail 阅读(2717) 评论(0) 推荐(0) 编辑

摘要:下面将介绍三种有关字符串匹配的算法,一种是朴素的匹配算法,时间复杂度为O(mn),也就是暴力求解。这种方法比较简单,容易实现。一种是KMP算法,时间复杂度为O(m+n),该算法的主要任务是求模式串的next数组。另外还有一种对KMP算法的改进,主要是求nextval数组。 第一种朴素的匹配算法: 第 阅读全文
posted @ 2015-11-26 10:43 RunningSnail 阅读(1107) 评论(0) 推荐(0) 编辑

摘要:问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字 阅读全文
posted @ 2015-11-25 15:20 RunningSnail 阅读(921) 评论(0) 推荐(0) 编辑

摘要:在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一 阅读全文
posted @ 2015-11-25 10:54 RunningSnail 阅读(696) 评论(0) 推荐(0) 编辑

摘要:指针的分类 指针总共可以分为两种,函数指针和数据指针。 指针和地址的区别 指针和地址最大的区别就是指针是有类型的,地址是没有类型的。不能对地址进行算术操作,在涉及诸如数组等操作时就不能通过地址的自增和自减来访问数组的各个变量。 通过对指针的引用,就可以通过对指针进行加减操作(数组不越界的情况下)方便 阅读全文
posted @ 2015-11-24 22:11 RunningSnail 阅读(2214) 评论(0) 推荐(2) 编辑

摘要:问题如下: 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。 该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种: 1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。 2. sell p s 表示一个出售股票的卖单,每手 阅读全文
posted @ 2015-11-24 21:11 RunningSnail 阅读(997) 评论(0) 推荐(0) 编辑

摘要:问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形扫描后得到长度为16的序列: 1 5 3 9 7 阅读全文
posted @ 2015-11-24 15:05 RunningSnail 阅读(11407) 评论(0) 推荐(1) 编辑

摘要:问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。 输出 阅读全文
posted @ 2015-11-23 21:09 RunningSnail 阅读(504) 评论(0) 推荐(0) 编辑

摘要:试题编号: 201503-3试题名称: 节日时间限制: 1.0s内存限制: 256.0MB问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。 现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050), 阅读全文
posted @ 2015-11-23 17:43 RunningSnail 阅读(2607) 评论(3) 推荐(0) 编辑

摘要:题编号: 201503-2 试题名称: 数字排序时间限制: 1.0s内存限制: 256.0MB问题描述: 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式: 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定 阅读全文
posted @ 2015-11-23 14:56 RunningSnail 阅读(596) 评论(0) 推荐(0) 编辑

摘要:试题来源为网络资源 试题编号: 201503-1试题名称: 图像旋转时间限制: 5.0s内存限制: 256.0MB问题描述: 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式 输 阅读全文
posted @ 2015-11-23 14:30 RunningSnail 阅读(2010) 评论(0) 推荐(0) 编辑

摘要:什么是素数,大家都比较熟悉。但是如何判定一个数是否为素数呢?经典的判定方法,就是把它的定义依据:除了1和它自身之外,不能被其它的数整除,那么这个数就是素数。下面是朴素的素数判定法:bool judgeIsPrime(int number){ if (number <= 1) re... 阅读全文
posted @ 2015-11-22 20:44 RunningSnail 阅读(507) 评论(0) 推荐(0) 编辑

摘要:岳麓山之美,言语不可形容,笔墨不可描绘。自2014年9月来到中南大学读研,时至今日近两载光阴,登爬岳麓山数十次。然而,从未遇到今日之好景。山林间,雨雾弥漫,远观似山中白云生;处于其中,如沐仙境。雾气扑面,浑身清爽,心情畅快,一切烦恼也被这山里的风吹散了。漫步于山间,怡然前行,于山顶处远眺湘江,眼前一... 阅读全文
posted @ 2015-11-20 20:51 RunningSnail 阅读(353) 评论(0) 推荐(0) 编辑

摘要:Description:The rod-cutting problem is the following. Given a rod of length n inches and atable of prices pi for i D 1,2,…,n, determine the maximum re... 阅读全文
posted @ 2015-11-20 14:33 RunningSnail 阅读(14388) 评论(1) 推荐(2) 编辑

摘要:动态规划(dynamic programing)和分治法类似,都是通过组合子问题的解来求解原问题的解。(在经典排序算法中的二路归并排序和快速排序都用到了分而治之的思想-分治法)。分治法是将原问题划分为没有交集,相互独立的子问题,并分别求解后再进行合并,求出原问题的解。动态规划应用于子问题重叠的情况,... 阅读全文
posted @ 2015-11-19 21:54 RunningSnail 阅读(2115) 评论(0) 推荐(0) 编辑

摘要:题目来源:九度教程第36题 九度提供的算法设计思路是:对输入的数字序列构建二叉排序树,并对它们进行前序和中序的遍历,依次比较遍历结果是否相同,若相同则说明两棵二叉排序树相同,否则不同。 这个设计思路是没有问题的,但是有点画蛇添足的成份。那么这个“蛇足”是什麽呢?试想一下二叉排序树的性质,如果对二叉排 阅读全文
posted @ 2015-11-18 14:48 RunningSnail 阅读(2474) 评论(0) 推荐(1) 编辑

摘要:原文链接:http://blog.csdn.net/tsinfeng/article/details/5844838 1、atoi 功 能:把一字符串转换为整数 用 法:int atoi(const char *nptr);详细解释:atoi是英文array to integer 的缩写。atoi( 阅读全文
posted @ 2015-11-17 17:02 RunningSnail 阅读(2230) 评论(0) 推荐(0) 编辑

摘要:转载:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html 1、字符串数字之间的转换 字符串 字符数组(1)string --> char * string str("OK"); char * p = str.c_str() 阅读全文
posted @ 2015-11-17 17:00 RunningSnail 阅读(583) 评论(0) 推荐(0) 编辑

摘要:对于二叉树来说,只要按照下面的模板可以很容易地实现先序、中序和后序的递归遍历二叉树。 使用递归可以使代码变得简洁,明了。我们不用考虑计算机底层的递归工作栈是怎么实现的,只要写好递归式,给出递归终止条件,就可以把剩余的计算工作交给计算机去执行。所以说递归是个好东东啊。但是追求真相的人,往往不会满足于此 阅读全文
posted @ 2015-11-16 22:34 RunningSnail 阅读(1522) 评论(0) 推荐(0) 编辑

摘要:对于一棵二叉树而言,可以由其前序和中序或者中序和后序的遍历序列,确定一棵二叉树。 那么对于已知前序和中序序列,求后序序列也就是先还原二叉树,然后对其进行后序遍历即可。 二叉树结点的结构定义如下: 实现代码如下: 阅读全文
posted @ 2015-11-16 20:32 RunningSnail 阅读(520) 评论(0) 推荐(0) 编辑

摘要:来源好搜百科:http://baike.haosou.com/doc/1048888-1109421.html 蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。 来源好搜百科:http://baike.haosou.com/doc/1048888-110 阅读全文
posted @ 2015-11-12 22:29 RunningSnail 阅读(2618) 评论(1) 推荐(0) 编辑

摘要:原文链接:http://www.kuqin.com/language/20080107/3532.html <iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h 阅读全文
posted @ 2015-11-12 20:03 RunningSnail 阅读(276) 评论(0) 推荐(0) 编辑

摘要:我们知道scanf函数是C语言里面的,其返回值是,被输入函数成功赋值的变量个数。针对于int counts = scanf("%d",&n);来说如果赋值成功那么其返回值为1,即counts的值也是1。例如下面这个例子: while(条件语句);如条件语句为真,那么循环可以一直进行下去,如果为假则循 阅读全文
posted @ 2015-11-12 11:42 RunningSnail 阅读(11192) 评论(8) 推荐(3) 编辑

摘要:最近一直带两个考研学生的《数据结构》,正好讲到图这一章,顺便实现了一下迪杰斯特拉算法。 阅读全文
posted @ 2015-11-11 15:36 RunningSnail 阅读(371) 评论(0) 推荐(0) 编辑

摘要:输入:一棵二叉排序树输出:双向链表要求:不能创建任何新的结点,只调整指针的指向。算法设计思想:构造一棵二叉排序树。中序遍历二叉排序树,在访问结点时调整成一个双向链表的结点,即将其左右孩子指针转化成前驱和后继指针。源码如下 1 #include"stdafx.h" 2 #include 3 usin... 阅读全文
posted @ 2015-11-10 20:12 RunningSnail 阅读(591) 评论(0) 推荐(0) 编辑

摘要:该函数有两个函数原型:Object Instantiate(Object original,Vector3 position,Quaternion rotation);Onject Instantiate(Object original);对于第一个来说,是指克隆原始物体并返回该克隆物体。其位置是p... 阅读全文
posted @ 2015-11-10 11:30 RunningSnail 阅读(566) 评论(0) 推荐(0) 编辑

摘要:优先级操作符描述例子结合性 1 ()[]->.::++-- 调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符 (a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 阅读全文
posted @ 2015-11-06 11:00 RunningSnail 阅读(300) 评论(0) 推荐(0) 编辑

摘要:/*二叉搜索树(Binary Search Tree),(又:二叉查找树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。*/... 阅读全文
posted @ 2015-11-06 10:36 RunningSnail 阅读(392) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示