上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 33 下一页
摘要: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。思路:1、遍历数组,找到数组的最小值,时间复杂度O(n);2、二分查找,时间复杂度O... 阅读全文
posted @ 2015-07-07 17:24 AndyJee 阅读(698) 评论(0) 推荐(0)
摘要: 题目:用两个栈实现一个队列。队列的声明如下:请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。思路:根据栈的“先进后出”特点,如果将数据导入一个栈,再导入另一个栈,这样数据的出入顺序就变成了“先进先出”,即队列的特点。假设有两个栈,s... 阅读全文
posted @ 2015-07-07 15:19 AndyJee 阅读(394) 评论(0) 推荐(0)
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。二叉树的定义如下:struct Binary... 阅读全文
posted @ 2015-07-06 17:37 AndyJee 阅读(472) 评论(0) 推荐(0)
摘要: 题目:输入一个链表的头结点,从尾到头反过来打印每个结点的值。链表结点定义:struct ListNode{ int value; ListNode* pNext;};思路:1、改变链表结构的话,先反转链表,然后从头到尾打印每个结点的值。(后续博文会有相关实现,这里就暂不实现)2、无需改变... 阅读全文
posted @ 2015-07-06 15:07 AndyJee 阅读(505) 评论(0) 推荐(0)
摘要: 题目:请实现一个函数,把字符串中的每个空格替换成“%20”,例如输入“We are happy”,则输出“We%20are%20happy”。思路:背景:在网络编程中,如果URL参数中含有特殊字符,如空格,#等,导致服务器端无法获得正确的参数值,我们需要将这些特殊符号转换成服务器可以识别的字符。转换... 阅读全文
posted @ 2015-07-06 10:50 AndyJee 阅读(552) 评论(0) 推荐(0)
摘要: 分享一篇趣文(来自伯乐在线:http://blog.jobbole.com/70395/),同样是海盗分赃问题,这篇文章以诙谐幽默的口吻以及浅显易懂的对话来解释海盗分赃问题。与上一篇博文海盗分赃_1不同的是,这里的投票规则为半数即可,并不要求大于半数。因此该问题的思路过程结果为: (3... 阅读全文
posted @ 2015-07-01 17:16 AndyJee 阅读(642) 评论(0) 推荐(0)
摘要: 题目:P个海盗偷了D颗钻石后来到公海分赃,一致同意如下分赃策略:首先,P个海盗通过抽签决定1-P的序号。然后由第1号海盗提出一个分配方案(方案应给出每个海盗分得的具体数量),如果能够得到包括1号在内的绝对多数(即大于半数)同意,则按照该分配方案执行,否则1号将被投入大海喂鲨鱼;而后依次类似地由第2号... 阅读全文
posted @ 2015-07-01 16:59 AndyJee 阅读(1107) 评论(0) 推荐(1)
摘要: 主要内容:1、什么是堆?2、如何建堆3、堆排序4、参考代码一、什么是堆?“堆”是个很有趣的数据结构,是个完全二叉树。“堆”的特性:每个节点的键值一定总是大于(或小于)它的父节点(大于:称为“最大堆”,小于:称为“最小堆”),或者说每个节点总是大于或小于它的子节点。对于最大堆而言,根节点为最大值;对于... 阅读全文
posted @ 2015-07-01 11:32 AndyJee 阅读(740) 评论(0) 推荐(0)
摘要: 题目:用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0。思路:这道题与上一篇博文N!尾部连续0的个数的思路是一样的。计算N!下三进制结果末尾有多少个0,其实就是计算三进制中的3被连续进位多少次,只要将N!因式分解成3^m*other,m就是答案。技... 阅读全文
posted @ 2015-07-01 09:32 AndyJee 阅读(965) 评论(0) 推荐(0)
摘要: 题目:对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。(不用考虑数值超出计算机整数界限的问题)思路:1、直接计算N!的值,然后统计尾部0的个数,时间复杂度O(n);2、发散思维,想想尾部为0的数是怎么得到... 阅读全文
posted @ 2015-07-01 09:05 AndyJee 阅读(2740) 评论(0) 推荐(0)
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 33 下一页