E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
面试题精选
程序员
面试题精选
(03)-求子数组的最大和
程序员
面试题精选
(03)-求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。
caoeryingzi
·
2010-12-12 21:00
程序员
面试题精选
(04)-在二元树中找出和为某一值的所有路径
程序员
面试题精选
(04)-在二元树中找出和为某一值的所有路径题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。
caoeryingzi
·
2010-12-12 21:00
数据结构
struct
面试
delete
iterator
Path
程序员
面试题精选
(06)-判断整数序列是不是二元查找树的后序遍历结果
程序员
面试题精选
(06)-判断整数序列是不是二元查找树的后序遍历结果 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。
caoeryingzi
·
2010-12-12 21:00
面试
tree
less
search
input
traversal
程序员
面试题精选
(09)-查找链表中倒数第k个结点
程序员
面试题精选
(09)-查找链表中倒数第k个结点题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
caoeryingzi
·
2010-12-12 21:00
面试
null
less
input
output
distance
程序员
面试题精选
(10)-在排序数组中查找和为给定值的两个数字
程序员
面试题精选
(10)-在排序数组中查找和为给定值的两个数字题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。
caoeryingzi
·
2010-12-12 21:00
面试
less
扩展
n2
output
Numbers
圆圈中最后剩下的数字
程序员
面试题精选
(14)-圆圈中最后剩下的数字 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。
caoeryingzi
·
2010-12-12 21:00
数据结构
list
Integer
iterator
input
output
二叉查找树
程序员
面试题精选
(11)-求二元查找树的镜像题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。
caoeryingzi
·
2010-12-12 20:00
struct
tree
search
input
each
编译器
程序员
面试题精选
(01)-把二元查找树转变成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。比如将二元查找树 10 / / 6
caoeryingzi
·
2010-12-11 22:00
面试
tree
null
search
input
output
翻转句子中单词的顺序
程序员
面试题精选
(07)-翻转句子中单词的顺序题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
caoeryingzi
·
2010-12-11 22:00
编程
面试
String
null
input
微软
程序员
面试题精选
---“itoa函数”和“atoi函数”
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。首先我们分
zhangxinrun
·
2010-12-01 20:00
面试
String
Integer
input
include
Exchange
程序员
面试题精选
(18)-用两个栈实现队列
题目:某队列的声明如下:C++代码template class CQueue { public: CQueue() {} ~CQueue() {} void appendTail(const T& node); // append a element to tail void deleteHead();
leowzy
·
2010-10-18 22:00
C++
c
面试
C#
程序员
面试题精选
(17)-把字符串转换成整数
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。首先我们分
leowzy
·
2010-10-18 22:00
编程
C++
c
面试
C#
程序员
面试题精选
(16)-O(logn)求Fibonacci数列
题目:定义Fibonacci数列如下: / 0 n=0f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n项。分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子。因此很多程序员对这道
leowzy
·
2010-10-18 22:00
C++
c
面试
F#
C#
程序员
面试题精选
(15)-含有指针成员的类的拷贝
题目:下面是一个数组类的声明与实现。请分析这个类有什么问题,并针对存在的问题提出几种解决方案。C++代码template class Array { public: Array(unsigned arraySize):data(0), size(arraySize) { if(size > 0)
leowzy
·
2010-10-18 22:00
C++
c
面试
C#
程序员
面试题精选
(14)-圆圈中最后剩下的数字
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总共有m个数字的
leowzy
·
2010-10-18 22:00
数据结构
面试
F#
程序员
面试题精选
(13)-第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:这道题是2006年google的一道笔试题。看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复杂度是O(
leowzy
·
2010-10-18 22:00
数据结构
面试
Google
程序员
面试题精选
(12)-从上往下遍历二元树
题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入 8 / \ 6 10 /\ /\5 7 9 11输出8 6 10 5 7 9 11。分析:这曾是微软的一道面试题。这道题实质上是要求遍历一棵二元树,只不过不是我们熟悉的前序、中序或者后序遍历。我们从树的根结点开始分析。自然先应该打印根结
leowzy
·
2010-10-18 22:00
面试
程序员
面试题精选
(11)-求二元查找树的镜像
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入: 8 / \ 6 10/\ /\5 7 9 11输出: 8 / \ 10 6/\ /\11 9 7 5定义二元查找树的结点为:C++代码struct B
leowzy
·
2010-10-18 22:00
C++
c
面试
C#
程序员
面试题精选
(10)-在排序数组中查找和为给定值的两个数字
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和是不是等于输入的
leowzy
·
2010-10-18 22:00
面试
程序员
面试题精选
(09)-查找链表中倒数第k个结点
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下:structListNode{ int m_nKey; ListNode*m_pNext;};分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此我们需要打开我们的思路。
leowzy
·
2010-10-18 22:00
编程
面试
程序员
面试题精选
(08)-求1+2+...+n
题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制。但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度。通常求1+2+…+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路。由于已经明确限制for和
leowzy
·
2010-10-18 22:00
编程
C++
c
面试
C#
程序员
面试题精选
(07)-翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“Iamastudent.”,则输出“student.aamI”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于本题需要翻转句子,我们先
leowzy
·
2010-10-18 22:00
编程
C++
c
面试
C#
程序员
面试题精选
(06)-判断整数序列是不是二元查找树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 /\ /\ 5 7 9 11因此返回true。如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返
leowzy
·
2010-10-18 22:00
面试
J#
程序员
面试题精选
(05)-查找最小的k个元素
题目:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。我们可以开辟一个长度为k的数组。每次从输入的n个整数中读入一个数。如果数组中已经插入的元素少于k个,则将读入的整
leowzy
·
2010-10-18 22:00
数据结构
面试
程序员
面试题精选
(04)-在二元树中找出和为某一值的所有路径
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树 10 / \
leowzy
·
2010-10-18 22:00
数据结构
C++
c
面试
百度
程序员
面试题精选
(03)-求子数组的最大和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。分析:本题最初为2005年浙江大学计算机系的考研题的最后一道程序设计题,在2006年里包括google在内的很多知
leowzy
·
2010-10-18 22:00
面试
Google
程序员
面试题精选
(01) 把二元查找树转变成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。比如将二元查找树 10 / \ 6
leowzy
·
2010-10-18 22:00
数据结构
C++
c
面试
C#
程序员
面试题精选
(02)-设计包含min函数的栈
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:这是去年google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push进栈的元素最先出栈,这种思路设计的数据结构已经不是一个栈了。在栈里添加一个成员变量存放最小元素(或
leowzy
·
2010-10-18 22:00
数据结构
面试
Google
程序员
面试题精选
100题(07)-翻转句子中单词的顺序(代码已重写)
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“Iamastudent.”,则输出“student.aamI”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于本题需要翻转句子,我们
computerhenu
·
2010-09-10 11:00
编程
c
面试
null
微软
程序员
面试题精选
100题-栈的push、pop序列
昨天看程序员面试精选100题,看到一个栈的push,pop序列问题。题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因为可以有如下的push和pop序列:push1,push2,push3,p
技术笔记——Beyond Programming
·
2010-09-01 11:00
笔试面试经典题目及解答——持续更新中
面试题精选
(1):n个数连接得到最小或最大的多位整数(百度笔试题) 题目描述:设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
Deutschester
·
2010-06-23 10:00
算法
面试
String
iterator
iostream
Numbers
笔试面试经典题目及解答——持续更新中
面试题精选
(1):n个数连接得到最小或最大的多位整数(百度笔试题)题目描述:设有n个正整数,将它们联接成一排,组成一个最小的多位整数。
deutschester
·
2010-06-23 10:00
笔试
&
面试
程序员
面试题精选
100题(07)-翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“Iamastudent.”,则输出“student.aamI”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于本题需要翻转句子,我们先
han_348154920
·
2010-05-06 14:00
面试题精选
(87):两数组包含问题(来自微软面试题)
题目:Youhavegiventwoarrays,sayA:4,1,6,2,8,9,5,3,2,9,8,4,6B:6,1,2,9,8whereBcontainselementswhichareinAinconsecutivelocationsbutmaybeinanyorder.FindtheirstartingandendingindexesinA.(Becarefulofduplicatenu
yysdsyl
·
2010-03-26 22:00
面试
Arrays
iterator
微软
pair
Numbers
面试题精选
(86):O(lgn)时间内找出有序数组中某个元素出现的次数
题目: 找出有序数组中指定元素出现的次数,要求时间复杂度为O(lgn) ex, 数组{0,0,0,2,3,3,3,3,3,4,5,5},0出现3次,3出现5次 思路: 很容易想到的一个办法是binary_search找到指定元素,然后左右查询,得到出现的次数k,但其时间复杂度为O(lgn)+k。 可通过改进binary_search,做两次查找,一次得到指定
yysdsyl
·
2010-03-26 14:00
面试
search
面试题精选
(85):给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
题目: 给定数组Arr[n],对于其中的每个元素Arr[i](0=Arr[i],并且i-k值最小(即最靠近)。 要求O(n)时间内找出Arr中所有元素对应的Arr[k]的位置。 ex, src[]:9,5,2,4,7 dst[]:-1,0,1,1,0 思路: 借助于栈来实现,从后向前遍历数组,while栈顶元素小于当前遍历的数组元素,则更新dst,并pop。
yysdsyl
·
2010-03-26 12:00
面试
struct
delete
DST
查找链表中倒数第k个结点
程序员
面试题精选
(09)-查找链表中倒数第k个结点题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
philofly
·
2009-11-22 18:00
list
null
less
input
output
distance
程序员
面试题精选
100题(13)-第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。分析:这道题是2006年google的一道笔试题。看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复杂度是O(
sbxxs
·
2009-10-17 20:30
职场
休闲
程序员
面试题精选
100题(10)-在排序数组中查找和为给定值的两个数字
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和是不是等于输入的
sbxxs
·
2009-10-17 20:14
职场
休闲
java
面试题精选
0、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 &n
jieming
·
2009-08-23 23:00
java
bean
应用服务器
面试
ejb
程序员
面试题精选
(18)-用两个栈实现队列
题目:某队列的声明如下: template<typename T> class CQueue { public: CQueue() {} ~CQueue() {} void appendTail(const T& node); // append a element to tail void delet
wdp107
·
2009-08-15 12:00
C++
c
面试
C#
程序员
面试题精选
(17)-把字符串转换成整数
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码
wdp107
·
2009-08-15 12:00
编程
C++
c
面试
C#
程序员
面试题精选
(16)-O(logn)求Fibonacci数列
题目:定义Fibonacci数列如下: / 0 &nb
wdp107
·
2009-08-15 11:00
C++
c
面试
F#
C#
程序员
面试题精选
(15)-含有指针成员的类的拷贝
题目:下面是一个数组类的声明与实现。请分析这个类有什么问题,并针对存在的问题提出几种解决方案。 template<typename T> class Array { public: Array(unsigned arraySize):data(0), size(arraySize) { if(size > 0)
wdp107
·
2009-08-15 11:00
C++
c
面试
C#
程序员
面试题精选
(14)-圆圈中最后剩下的数字
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总共有m个数
wdp107
·
2009-08-15 11:00
数据结构
面试
F#
程序员
面试题精选
(14)-圆圈中最后剩下的数字
题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 分析:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总共有m个数
wdp107
·
2009-08-15 11:00
数据结构
面试
F#
程序员
面试题精选
(13)-第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。 看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复杂度
wdp107
·
2009-08-15 11:00
数据结构
面试
Google
程序员
面试题精选
(12)-从上往下遍历二元树
题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入 8 / \ 6 10 /\ 
wdp107
·
2009-08-15 11:00
面试
程序员
面试题精选
(11)-求二元查找树的镜像
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / \ 6
wdp107
·
2009-08-15 11:00
C++
c
面试
C#
程序员
面试题精选
(10)-在排序数组中查找和为给定值的两个数字
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。 分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和是不是等
wdp107
·
2009-08-15 11:00
面试
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他