- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 编写你自己的Mutex类
我们知道,在JAVA中用关键字synchronized控制对临界区的互斥访问,以此保障线程安全性,有synchronized方法和synchronized块。如果是成对的lock(),unlock()方法,也可以达到同样的效果,如下面代码: void method() { mutex.lock(); try { //critical section do so
2011-11-15 16:01:34
784
原创 程序员面试题精选--从文件中随机提取一个字符串
这是前几天去新浪微博面试被问到的问题!题目是这样的:一个文件中按行存放若干字符串,要求只能按顺序遍历文件一次,不能用表格存储字符串偏移,随机返回一个字符串。本人愚笨,在那挣扎了半天没有结果,悻悻而归。今天在看《C专家编程》,猛然发现,附录A.6就是原题!真是悔恨啊,读书太少啊,苍天大地啊~~它是这样解的:基本的技巧是在幸存的字符串中挑选,并在过程中不断更新。打开文件并保
2011-11-07 22:47:58
2890
原创 程序员面试题精选--归并排序
采用分治策略一般有三个步骤:1、分解:将n个元素分成各含n/2个元素的子序列2、解决:用合并排序法对两个子序列递归的排序3、合并:合并两个已排序的子序列以得到排序结果。在归并排序时,其长度为1时递归结束。单个元素被视为是已排序好的。参考代码如下:#includeusing namespace std;#define MAX 0x7FFFFFFF //最大可
2011-10-23 16:54:04
1719
1
转载 程序员面试题精选-- 字符串的组合
题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。用递归的思路来求字符串的组合:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一
2011-10-07 15:05:50
1179
原创 程序员面试题精选--从头到尾输出字符串
此题是从逆序输出链表变种而来,见何海涛日志http://zhedahht.blog.163.com/1.逆序输出一个字符串,如"hello world!"输出为“!dlrow olleh”.2.计算一个字符串的长度,要求函数中不能声明任何变量。此题简单,在这里
2011-10-06 18:06:57
1258
转载 程序员面试题精选---复杂链表的复制
转自何海涛日志 http://zhedahht.blog.163.com/ 题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下:
2011-10-06 17:18:16
778
转载 程序员面试题精选-翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。分析:由于编写字符串相关代码能够反映程序员的编程能力
2011-10-06 16:52:48
1868
转载 程序员面试题精选--在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。要编程完成这道题要求的功能可能并不难。毕竟,这道题的基本思路就是在第一个字符串中拿
2011-10-06 15:28:00
6025
转载 程序员面试题精选-判断整数序列是不是二元查找树的后序遍历结果
转自何海涛日志http://zhedahht.blog.163.com/题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
2011-10-05 18:18:20
875
转载 程序员面试题精选--树为另一树的子结构
题目:二叉树的结点定义如下:struct BinaryTreeNode{ int value; TreeNode* lchild; TreeNode* rchild;};输入两棵二叉树A和B,判断树
2011-10-05 16:07:17
716
转载 程序员面试题精选-- 判断二叉树是不是平衡的
转自何海涛日志http://zhedahht.blog.163.com/题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。例如下图中的二叉树就是一棵平衡二叉树:我们很容易就能想
2011-10-05 15:45:53
1282
1
原创 程序员面试题精选--调整奇偶数顺序
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。思路:维护两个索引 low 和 high, low初始化为指向数组中第一个元素,只能向后递增;high指向数组最后一个元素,只能向前递减。若
2011-10-04 22:56:04
1330
2
转载 程序员面试题精选--扑克牌的顺子
转自http://zhedahht.blog.163.com/题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 分析:这题目很有意思,是一个典
2011-10-04 17:00:59
1109
1
转载 程序员面试题精选-设计包含min函数的栈
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:这是去年google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元
2011-10-02 22:23:29
715
原创 程序员面试题精选-颠倒栈
题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。只消两个递归即可,直接看代码吧!#include#includeusing namespace std;template
2011-10-02 20:35:03
944
原创 程序员面试题精选--栈的push、pop序列判定
题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的
2011-10-02 17:38:51
1161
原创 用const修饰"记忆变量"。。。
C++的const用法真NND复杂,花时间梳理一下,记录下来,记备后用。若有误解,欢迎拍砖!1. const变量 const int val = 512; 常量在定义后不能被修改,所以定义时必须初始化(相信大家都知道). const对象默认为文件的局部变量,即其作用域是定义该对象的文件,不能被其它文件访问(定义在所有函数外的名字具有全局作用域,即可在程序的任何地方
2011-06-15 10:38:00
500
原创 泛型算法
标准库并没有为每种容器类型都定义实现这些操作的成员函数,而是定义了一组泛型算法(generic algorithm):因为它们实现共同的操作,所以称之为“算法”;而泛型指的是它们可以操作多种容器类型上----不但可以作用于vector 或list 这些标准库类型,还可以在内置数组类型、甚至其它类型的序列上。自定义的容器类型只要与标准库兼容,同样可以使用这些泛型算法。 泛型算法本身不执行容
2011-06-15 10:36:00
530
原创 纯虚函数概念
在函数形参列表后面写上 =0 以指定纯虚函数: class Disc_item : public Item_base{ public: double net_price(std::size_t) const = 0; }; 将函数定义为纯虚能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类中的版本决不会调用。重要的是,用户将
2011-06-15 10:34:00
659
原创 关于字符编码~~
http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html讲得相当清晰。。。
2011-05-29 16:11:00
412
原创 HTTP状态响应码
HTTP状态响应码,纷繁复杂,时常遗忘,今日偶遇,遂记之。若能助列位看官一臂之力,不胜荣幸!1**:请求收到,继续处理100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP协议版本 2**:操作成功收到,分析、接受200——交易成功2
2011-05-04 16:25:00
740
转载 SQL查询效率(转)
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name='zhangsan' and tID > 10000 和执行:
2011-05-02 18:34:00
413
Standardization white paper on Artificial Intelligence-人工智能2018版
2018-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人