- 博客(19)
- 资源 (24)
- 收藏
- 关注
转载 《编程之美》中黑球,白球各100,问最后剩下一个是黑球的概率
转载自:http://blog.csdn.net/hardbrave/article/details/7005652题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来:1、每次从桶里面拿出来两个球;2、如果是两个同色的球,就再放入一个黑球;3、如果是两个异色的球,就再放入一个白球;问:最后桶里面只剩下一个黑球的概率是多少?思路1
2013-09-30 14:37:01 6138
转载 程序员技术练级攻略
转载自:http://coolshell.cn/articles/4990.html月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他
2013-09-30 14:27:06 728
转载 对称字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则
2013-09-30 10:46:39 1036
转载 五大常用算法之五:分支限界法
分支限界法一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分支”就是采用广度
2013-09-30 10:19:18 637
转载 五大常用算法之四:回溯法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的
2013-09-30 10:18:38 761
转载 五大常用算法之三:贪心算法
贪心算法一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前
2013-09-30 10:16:29 669
转载 五大常用算法之二:动态规划算法
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能
2013-09-30 10:15:38 620
转载 五大常用算法之一:分治算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的
2013-09-30 10:14:42 714
转载 历年百度校园招聘笔试题
转载自:http://wenku.baidu.com/view/7bc36e8d6529647d272852ca.html一:简答题(30) 1:数据库以及线程发生死锁的原理及必要条件,如何避免死锁(操作系统书上有) 2:面向对象的三个基本元素,五个基本原则(继承,封装,多态,基本原则没答上) 3:windows内存管理的机制以及优缺点(分页,分段,虚拟内存管理....) 二:
2013-09-28 11:04:07 1512
转载 求一个字符串s的最大连续递增数字子串
#include #include char* getSubStr(char *str,char *result){ char *p = str;//引用字符串 char *start = NULL;//字串开始位置的字符指针 //sublen字串的长度 count字符出现的次数,因为最后不满足条件的那个数也要计算在内,所以初始化为1 int sublen=0,count=
2013-09-27 22:46:23 2117
转载 复杂链表的复制
转载自:http://www.cnblogs.com/daniagger/archive/2012/06/19/2555321.html复杂链表的复制Q:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。请完成函数ComplexNode* Clone(ComplexNode* pHead),
2013-09-27 20:01:48 1172
转载 扑克牌的顺子
转载自:http://blog.csdn.net/unimen/article/details/6820975/*题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数 字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 *//* Author: Unimen Date: 26/09/2011
2013-09-27 14:35:42 837
转载 输出1到最大的N位数
题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。应聘者在解决这个问题的时候,最容易想到的方法是先求出最大的n位数是什么,然后用一个循环从1开始逐个输出。很快,我们就能写出如下代码:// Print numbers from 1 to the ma
2013-09-26 23:04:19 705
转载 一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字
首先来一道简单的题目:一个数组中,除了一个数字,其他数字都出现了两次,我们如何找出那个不同的数字,很简单,将所有的数字都异或,那么最终结果就是要找的数字,因为相同的数字异或结果就是0那么现在来思考这个题目:《编程之美》一书提供了一种方法,即将所有的数字进行一个异或,得到一个数字,然后以该数字的某非0为作为过滤位,将数组分为两个部分,此时出现一次的数字会分到不同的部分,现在的
2013-09-26 22:48:55 4511 3
转载 走台阶问题
问题腾讯的一道面试题:一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?博主把这题分析的很麻烦。引来很多人围观。我以前也碰到过这个问题。写出来和大家分享一下。举个例子,假设有3个台阶,则有三种走法:分别是,1-1-1, 1-2, 2-1。分析简单的一道题,学过组合数学的人很快就能想到,这是一个递推关系。假设走完k个台阶有f
2013-09-23 08:49:25 837
转载 Catalan数(卡特兰数)
Catalan数(卡特兰数)2012-04-12 21:08:13标签:卡特兰数原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://buptdtt.blog.51cto.com/2369962/832586卡特兰数:规定h(0)=1,而h(1)=1,h(2)=2,h(3)=5,h(4)=14,h(
2013-09-22 18:54:00 629
转载 C++函数CString::find
C++ STL里提供了很多字符串操作的函数,下面的字符串查找方面的部分函数用法简介。1、find()查找第一次出现的目标字符串:/** Author: mybestwishes* Created Time: 2011/4/9 15:56:44* File Name: find.cpp*/#include #include usin
2013-09-10 21:41:25 7766
转载 解决VS2008中生成C/C++项目时遇到“生成‘rc.exe’时出错”
解决VS2008中生成C/C++项目时遇到“生成‘rc.exe’时出错” 解决步骤: 1、运行VS2008安装程序。 2、在“选择要安装的功能”这一步时,依次展开“语言工具”——“Visual C++”——“Visual C++ 工具”,勾选“Win32 工具”一项。 3、点“更新”按钮。 此时安装程序将开始维护操
2013-09-10 15:29:44 3505
转载 堆和栈
内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结堆和栈的区别一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回
2013-09-05 11:00:36 624
Huffman编码
2012-04-25
C&C++优秀书籍
2012-03-18
精通Qt4编程
2012-03-18
ACIS系统简介
2011-10-08
查找算法的多种方法的源文件集合
2009-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人