- 博客(67)
- 收藏
- 关注
原创 100题之在二元树中找出和为某一值的所有路径
<br />//============================================================================// Name : 100题之.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//===============
2011-04-25 15:32:00
436
原创 程序员面试宝典之输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序,即输出125,126,145,146
<br />//============================================================================// Name : 2例一.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=================
2011-04-22 15:00:00
2563
原创 编程之美之小飞的电梯调度算法
<br />原题解法二有问题,只有证明使N1 + N2 >= N3成立的第一个i值就是全局最优解",才能保证给出的代码的正确性。如果证明不了,就要遍历一遍,时间复杂度仍未o(n)<br /> <br />//============================================================================// Name : 编程之美之小飞的电梯调度算法.cpp// Author :// Version :/
2011-04-22 14:56:00
1168
原创 扑克牌的顺子
<br />题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。<br /> <br />//============================================================================// Name : 100题之扑克牌的顺子.cpp// Author :// Version :// Copyr
2011-04-22 11:05:00
429
原创 输出1到最大的N位数,用递归和非递归实现,同时满足大整数的要求,很巧妙
题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。分析:这是一道//============================================================================// Name : 100题之输出1到最大的N位数.cpp// Author :// Version :// Copyright : Your copyright notice
2011-04-22 10:09:00
881
转载 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?(转)待自己补充
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对每个url求取 ,然后根据所取得的值将url分别存储到1000个小文件(记为 )中。这样每个小文件的大约为300M。s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为 )。这样处理后,所有可能相同的url都在对应的
2011-04-22 09:07:00
3953
原创 编程之美点在三角形内
<br />//============================================================================// Name : 编程之美点是否在三角内内.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//========
2011-04-19 17:56:00
629
原创 100题之颠倒栈
<br />题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。<br /> <br />//============================================================================// Name : 100题之颠倒栈.cpp// Author :// Version :// Copyright : Your c
2011-04-19 14:54:00
435
原创 100题之n个骰子的点数
<br /><br />n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。<br />#include<iostream>#include<math.h>using namespace std;int f[2][100];int N;int sum;int dallor;void compute_f(){ sum=N*dallor; for(int i=0;i<100;i++) for(int j=0;j<100;j++
2011-04-19 13:35:00
547
原创 100题之树为另一树的子结构
<br />题目:二叉树的结点定义如下:<br />struct TreeNode<br />{<br />int m_nValue;<br />TreeNode* m_pLeft;<br />TreeNode* m_pRight;<br />};<br />输入两棵二叉树A和B,判断树B是不是A的子结构。<br />例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一样的,因此B就是A的子结构。<br />1 8<br />/ / / /<br />8 7 9 2<br />/ /<br />9
2011-04-19 10:19:00
431
原创 苹果二叉树
<br />设想苹果树很象二叉树,每一枝都是生出两个分支。我们用自然数来数这些枝和根那么必须区分不同的枝(结点),假定树根编号都是定为1,并且所用的自然数为1到N。N为所有根和枝的总数。例如下图的N为5,它是有4条枝的树。<br />2 5<br />/ /<br />3 4<br />/ /<br />1<br />当一棵树太多枝条时,采摘苹果是不方便的,这就是为什么有些枝要剪掉的原因。现在我们关心的是,剪枝时,如何令到损<br />失的苹果最少。给定苹果树上每条枝的苹果数目,及必须保留的树枝的数目。你的
2011-04-19 09:26:00
571
转载 链表是否有环
<br />链表是否有环<br />判断链表是否有环以及环的入口点<br />有几种解法:<br />1. 遍历链表,将已经遍历过的节点放在一个hash表中,如果一个节点已经存在hash表中,说明有环。时间:O(n) 空间:O(n)<br /><br />2. 反转链表 时间O(n),空间O(1),使用三个指针<br /><br />3. 快慢指针。 时间O(n), 空间O(1),使用两个指针<br /><br />参考:<br />http://kb.cnblogs.com/page/52054/<b
2011-04-18 15:44:00
876
原创 编程之美程序改错
<br />//============================================================================// Name : 编程之美程序改错.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============
2011-04-18 15:21:00
918
原创 100题之复杂链表的复制
<br />//============================================================================// Name : 100题之复杂链表的复制.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//========
2011-04-18 13:23:00
420
原创 100题之二叉树两个节点的最低共同父节点
<br />//============================================================================// Name : 100题之二叉树两个结点的最低共同父节点.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//
2011-04-18 11:33:00
922
原创 加分二叉树
<br />设一个n个节点的二叉树tree的中序遍历为(l,2,3,...,n),其中数字1,2,3,...,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: <br />subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数 <br />若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空子树。 <br />试求一棵符合中
2011-04-18 09:14:00
1336
原创 编程之美2.11寻找最近点对解法一二,扩展问题1,扩展问题2只有想法,代码未写
<br />//============================================================================// Name : 11寻找最近点对.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//============
2011-04-15 18:33:00
1309
原创 100题之数组中超过出现次数超过一半的数字以及超过三分之一的两个数字,超过四分之一的三个数字
//============================================================================// Name : 100题之数组中出现次数超过一半的数字.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=======
2011-04-15 13:58:00
1855
原创 100题之对称子字符串的最大长度
<br />题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串"google",由于该字符串里最长的对称子字符串是"goog",因此输出4。<br />//============================================================================// Name : 对称字符串的最大长度.cpp// Author :// Version :// Copyright : Y
2011-04-15 12:41:00
531
原创 对称子字符串的最大长度
<br />题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串"google",由于该字符串里最长的对称子字符串是"goog",因此输出4。<br /> <br />我的代码在时间复杂度为0(n2)下完成查找<br />//============================================================================// Name : 对称字符串的最大长度.cpp// Author ://
2011-04-15 12:39:00
529
原创 100题之数值的整数次方
<br />题目:实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。<br />//============================================================================// Name : 100题之数值的整数次方.cpp// Author :// Version :// Copyright : Your
2011-04-15 10:49:00
683
原创 100题之旋转数组中的最小元素
<br />题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。<br /> 分析:这道题最直观的解法并不难。从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N)。但这个思路没有利用输入数组的特性,我们应该能找到更好的解法。<br /> 我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前
2011-04-15 10:11:00
1050
原创 方格取数
<br />方格取数<br />题目描述:<br />给你一个m行n列的格子的棋盘,每个格子里面有一个非负数。<br />从中取出若干个数,使得任意的两个数所在的格子没有公共边,<br />并且取出的数的和最大。<br />输入:<br />多组测试数据,第一行有两个整数m和n(m,n<=50),<br />接下来是m*n个非负数,<br />输出:<br />对于每组数据计算出最大和并输出。<br />样例输入:<br />3 3<br />75 15 21 <br />75 15 28 <br />
2011-04-15 09:06:00
1122
原创 经典啊~编程之美之电话号码对应英语单词
<br />//============================================================================// Name : 编程之美电话号码对应英语单词.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//======
2011-04-13 16:37:00
714
原创 100题之把数组排成最小的数
<br />题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法,并证明该算法。<br /> <br />//============================================================================// Name : 100题之把数组排成最小的数.cpp// Author :// V
2011-04-13 14:15:00
725
原创 100题之寻找丑数
//============================================================================// Name : 100题之寻找丑数.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=================
2011-04-13 12:14:00
811
原创 盖房子
<br />【Vijos 1057】盖房子Vijos 2009-11-02 20:50:54 阅读26 评论0 字号:大中小 订阅 .<br />描述 Description<br />永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的。 <br />但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。这些瑕疵十分恶心,以至于根本不能在上面盖一砖一瓦。 <br />他希望找到一块最大的正方形无瑕疵土地来盖房子。 <br
2011-04-13 11:09:00
683
原创 编程之美重建二叉树
//============================================================================// Name : 编程之美重建二叉树.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=================
2011-04-12 15:11:00
454
原创 100题之在字符串中删除特定的字符
<br />//============================================================================// Name : 100题之在字符串中删除特定的字符.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//===
2011-04-12 13:37:00
261
原创 100题之在字符串中删除特定的字符
<br />//============================================================================// Name : 100题之在字符串中删除特定的字符.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//===
2011-04-12 13:37:00
205
原创 100题之在字符串中删除特定的字符
<br />//============================================================================// Name : 100题之在字符串中删除特定的字符.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//===
2011-04-12 13:37:00
220
原创 100题之找出链表的第一个公共节
<br />//============================================================================// Name : 100题之找出链表的第一个公共节点.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//===
2011-04-12 10:42:00
522
原创 100题之找出数组中两个只出现一次的数字
<br />//============================================================================// Name : 100题之找出数组中两个只出现一次的数字.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//
2011-04-12 10:29:00
289
原创 Divisible
<br />Description<br />Consider an arbitrary sequence of integers. One can place + or - operators between integers in the sequence, thus deriving different arithmetical expressions that evaluate to different values. Let us, for example, take the sequence:
2011-04-12 10:16:00
323
原创 编程之美队列中去最大值操作问题
<br />//============================================================================// Name : 编程之美队列中取最大值操作问题.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=====
2011-04-11 15:35:00
406
原创 100题之O(1)时间内删除链表节点
//============================================================================// Name : 100题之在0(1)时间内删除链表节点.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//=======
2011-04-11 12:35:00
318
转载 100题之不能被继承的类
不能被继承的类题目:用C++设计一个不能被继承的类。分析:这是Adobe公司2007年校园招聘的最新笔试题。这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目。在Java中定义了关键字final,被final修饰的类不能被继承。但在C++中没有final这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。
2011-04-11 10:48:00
296
原创 100题之从尾到头输出链表
(31)-从尾到头输出链表题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};//============================================================================// Name : 100题之从尾到头输出链表.cpp// Author :// Version
2011-04-11 10:00:00
720
原创 花店橱窗设计
<br />【问题描述】<br /> 假设以最美观的方式布置花店的橱窗,有F束花,每束花的品种都不一样,同时,至少有<br /> 同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,并从左到右,从1到V顺序编<br /> 号,V 是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边,花束可以移动,<br /> 并且每束花用1到F 的整数惟一标识,标识花束的整数决定了花束在花瓶中列的顺序即如果<br /> i < j,则花束i 必须放在花束j左边的花瓶中。<br />
2011-04-11 09:22:00
2763
1
原创 编程之美子数组的最大乘积
<br />//============================================================================// Name : 13子数组的最大乘积.cpp// Author :// Version :// Copyright : Your copyright notice// Description : Hello World in C++, Ansi-style//==========
2011-04-07 15:38:00
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人