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
面试100题
程序员
面试100题
之四十六,对称子字符串的最大长度
// 100_46.cpp : Defines the entry point for the console application. // #include "stdafx.h" int find_len(char * str) { if(str==NULL) return 0; int len = 1; char * cur = str;
·
2015-11-13 02:13
程序员
程序员
面试100题
之三十九,颠倒栈
#include "stdafx.h" #include <stack> void bottom(std::stack<int>& s, int t) { if(s.empty()) s.push(t); else { int temp = s.top(); s.pop(); bottom(s,t);
·
2015-11-13 02:12
程序员
程序员
面试100题
之三十七,寻找丑数
// 100_37.cpp : Defines the entry point for the console application. // #include "stdafx.h" long ugly(long index) { long * uglyNum = new long[index]; uglyNum[0] = 1; long next
·
2015-11-13 02:11
程序员
程序员
面试100题
之三十八,输出1到最大的N位数
#include "stdafx.h" void print(char * number, int len, int index) { if(index == len) { printf("%s\n",number); return; } for(int i=0;i<10;i++) { number[ind
·
2015-11-13 02:11
程序员
程序员
面试100题
之三十六,在字符串中删除特定的字符
#include "stdafx.h" #include <cassert> #include <cstring> void del(char * str1, const char * str2) { assert(str1); assert(str2); int count[256] = {0}; for(int i=0;i
·
2015-11-13 02:10
程序员
模板元编程(template metaprograming)
今天第一次听说模板元编程,或者之前没在意,见到了还以为是和模板编程一样的概念,结果今天在看何海涛的
面试100题
第9题的时候发现下面有个解法颇为不解,查了一下,叫模板元编程。
·
2015-11-12 17:22
template
数据结构+算法
面试100题
~~~摘自CSDN
数据结构+算法
面试100题
~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
·
2015-11-12 13:34
数据结构
微软面试、经典算法、编程艺术、红黑树4大系列总结
无私分享,造福天下以下是本blog内的微软
面试100题
系列,经典算法研究系列,程序员编程艺术系列,红黑树系列4大经典原创系列作品与一些重要文章的集锦。
·
2015-11-12 10:51
红黑树
二元查找树转变成排序的双向链表之C#算法实现
此题为July在CSDN发布的微软编程
面试100题
中的第一题,觉得蛮有趣的,今天也拿过来玩玩,July的代码用的是C++实现,可能因为有指针的原因吧,感觉看起来相对比较容易理解整个的实现过程,而我,试着用
·
2015-11-11 07:28
双向链表
查找最小的k 个元素之C#算法实现
紧接着上一篇微软编程
面试100题
,这次想解决的是查找最小的K个元素,题目是:输入n 个整数,输出其中最小的k 个。
·
2015-11-11 07:28
C#
【面试题】比给定数大的最小数
今天在全新整理:微软、谷歌、百度等公司经典
面试100题
[第101-160题]看到一道挺常见的题,这里面说是Google2009华南地区笔试题,原题如下。
·
2015-11-11 05:22
面试题
微软
面试100题
【机密】
1为什么下水道的井盖是圆的? 2美国有多少辆车?(一个常见的类似问题是:美国有多少家加油站?) 3美国有多少个下水道井盖? 4你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分? &
·
2015-11-08 14:57
面试
微软等公司数据结构+算法
面试100题
(第1-100题)首次完整亮相
更新:现今,这100题的答案已经全部整理出来了,微软
面试100题
2010年版全部答案集锦:http://blog.csdn.net/v_july_v/article/details/6870251。
·
2015-11-08 14:53
数据结构
微软
面试100题
2010年版全部答案集锦(转自July)
作者:July、阿财。时间:二零一一年十月十三日。 引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的完整版,以作为对本博客所有读者的回馈。 &nbs
·
2015-11-06 07:19
面试
微软
面试100题
2010年版全部答案集锦(含下载地址)
微软等数据结构+算法
面试100题
全部答案集锦 作者:July、阿财。时间:二零一一年十月十三日。
·
2015-11-06 07:14
面试
全新整理:微软、谷歌、百度等公司经典
面试100题
[第101-160题]
全新整理:微软、谷歌、百度等公司经典
面试100题
[第101-160题] 整理:July、二零一一年三月九日。应网友承诺与要求,全新整理。转载,请注明出处。
·
2015-11-06 07:13
面试
数据结构+算法
面试100题
~~~摘自CSDN,作者July
1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / / 6 14 / / / /4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定
·
2015-11-06 07:13
数据结构
单调栈 二 nyOj 最大矩形和
pid=258 此题多年前出现在江湖之中,微软
面试100题
有,2014网易有道又冲出江湖,此题是单调栈的使用,想了两天,明白一点。
·
2015-11-02 18:17
OJ
july教你如何迅速秒杀掉:99%的海量数据处理面试题
作者:July出处:结构之法算法之道blog 以下是原博客链接网址 http://blog.csdn.net/v_july_v/article/details/7382693 微软
面试
·
2015-11-02 15:02
海量数据
各大公司笔试面试题集锦
说明:本文原题为:“横空出世,席卷Csdn[评微软等公司数据结构+算法
面试100题
]”,但后来此微软100题(加上后续的80道,共计180道面试题)已成一系列,被网络上大量疯狂转载,因此特改为上述题目。
coloriy
·
2015-11-02 13:23
面试
微软等公司数据结构+算法
面试100题
1.把二元查找树转变成排序的双向链表(树)题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ /6 14/ / / /4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nodeBST
·
2015-11-02 12:39
数据结构
全新整理:微软、谷歌、百度等公司经典
面试100题
[第101-160题]
全新整理:微软、谷歌、百度等公司经典
面试100题
[第101-160题
·
2015-11-01 08:36
面试
重启开源,分享无限--微软面试187题精选
前期回顾 我想,只要是稍微浏览过我博客的朋友都知道,本博客内总体上大致分为两个部分的内容:1、算法(如十六个经典算法研究系列);2、面试与编程(涉及到微软
面试100
·
2015-10-31 18:51
面试
横空出世,席卷互联网--评微软等公司数据结构+算法
面试100题
说明:本文原题为:“横空出世,席卷Csdn [评微软等公司数据结构+算法
面试100题
]”,但后来此微软100题(加上后续的80道,共计180道面试题)已成一系列,被网络上大量疯狂转载,因此特改为上述题目
·
2015-10-31 18:50
数据结构
全新整理:微软、Google等公司的面试题及解答、第161-170题
------------------------------- 引言 此微软100题V0.2版的前60题,请见这:微软、谷歌、百度等公司经典
面试100
·
2015-10-31 18:50
Google
微软、谷歌、百度等公司经典
面试100题
[第1-60题]——自己的实现
原文链接:http://blog.csdn.net/v_JULY_v/archive/2011/03/09/6234496.aspx 1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数 [cpp] view plain copy #include <iostream> &n
·
2015-10-31 18:49
面试
微软面试数据结构、算法100题
火爆出炉:微软等数据结构+算法
面试100题
首次完整亮相
·
2015-10-31 11:10
数据结构
【转贴】微软
面试100题
的答案
有些我还是懂的 4你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分? 答: 用尺量好,平均分成7份,两刀切成三段,分别分1:2:4,第一天,拿走1份那条,第二天把1份那条拿回来换2份那条,第三天把1份那条也拿去,第4天就1份和2份那两条全拿回来把4份那条拿走
·
2015-10-31 10:56
面试
面试100题
53--字符串全排列
题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 #include <iostream> #include <string> #include <cstring> using namespace std;
·
2015-10-31 09:01
字符串
面试100题
之43 -- 递归和非递归二叉树遍历
参考了july的非递归解法,一下是自己的代码: //递归和非递归遍历Tree // 1 // / \ // 2 3 // / \ / \ // 4 5 6 7 //Pre-Order: 1 2 4 5 3 6 7 //In-Order: 4 2 5 1 6 3 7 //Post-Order:4 5 2
·
2015-10-31 09:00
二叉树
查找最小的k 个元素
这是微软
面试100题
。 关于这的讲解有很多。
·
2015-10-31 09:04
查找
重磅分享:微软等数据结构+算法
面试100题
全部答案完整亮相
本文转载自CSDN大牛的一篇博客:http://blog.csdn.net/v_july_v/article/details/6870251 作者:July、阿财时间:二零一一年十月十三日。 我能够看到此文,还要多谢陈同学!让我得以及时分享给大家 引言 无私分享造就开源的辉煌。
·
2015-10-31 09:41
数据结构
在O(1)时间内删除链表结点 【微软
面试100题
第六十题】
题目要求: 给定链表的头指针和一个结点指针,在O(1)时间删除该结点。 参考资料:剑指offer第13题。 题目分析: 有几种情况: 1.删除的结点是头结点,且链表不止一个结点; 2.删除的结点是头结点,且链表只有一个结点; 3.删除的结点是尾结点,且链表不止一个结点; 4.删除的结点不是头也不是尾结点; 对于第四种情况(普遍情况)
·
2015-10-31 08:52
面试
在左移的递减数组中查找某数 【微软
面试100题
第四十八题】
题目要求: 一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5}是由{6,5,4,3,2,1,}左移两位形成的,在这种数组中查找某个数。 题目分析: 方法1 逐个查找,遍历一遍数组,时间复杂度O(N). 方法2 二分查找,时间复杂度O(logN).具体分析见下图: 代码实现: #include <iostrea
·
2015-10-31 08:52
面试
用两个栈实现队列 【微软
面试100题
第五十七题】
题目要求: 某队列的声明如下: template<typename T> class CQueue { public: CQueue() {} ~CQueue() {} void appendTail(const T& node); // append a element to tail vo
·
2015-10-31 08:52
面试
求一个有向连通图的割点 【微软
面试100题
第三十九题】
题目要求: 求一个有向连通图的割点。割点的定义是,如果除去此结点和与其相关的边,有向图不再连通,描述算法。 题目分析: 判断某个点是否是割点的方法是,删除该点和与其相关的边,然后求连通性;这样逐个删除点(每次有且只删除一个点),就可以判断该图的割点有哪些了。 判断图连通性的方法:从一个点出发,如果能遍历所有的点,则连通。 使用邻接表表示有向图: typedef str
·
2015-10-31 08:51
面试
设计一个魔方(六面)的程序 【微软
面试100题
第四十四题】
题目要求: 设计一个魔方(六面)的程序。 题目分析: 把魔方从正面看展开成一个平面,如图1所示。设计一个类,其中Spacexy[SPACE][LEN][LEN];中的SPACE为0~5表示六个面,每个数字代表哪一面见图1.LEN为0~2,[LEN][LEN]表示某个面的3*3的9个格子。 类中的方法是根据展开的平面设计的,具体的某个面的某个格子由Spacexy[SPACE][L
·
2015-10-31 08:51
面试
交换元素,使两数组之和的差最小 【微软
面试100题
第三十二题】
题目要求: 有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。 参考资料:程序员编程艺术(By July) 题目分析: 先求两个序列和之差diff;然后从a和b中分别取一个元素,利用公式:diff-a[i]+b[j]-(a[i]-b[j]) = diff-2*(a[i]-b
·
2015-10-31 08:51
面试
求比赛名次 【微软
面试100题
第三十六题】
题目要求: n支队伍比赛,分别编号为0,1,2,...,n-1,已知它们之间的实力对比关系存储在一个二维数组w[n][n]中,w[i][j]的值代表编号为i,j的队伍中更强的一支,所以w[i][j] = i或者j. 现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是4对3,5对8.胜者晋级,败者淘汰,
·
2015-10-31 08:51
面试
左旋转字符串 【微软
面试100题
第二十六题】
题目要求: 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 例如:把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转函数。 参考资料:剑指offer第42题、编程珠玑第二章 题目分析: 方法1 临时空间法:将前i个元素先复制到临时空间中,然后将余下的n-i个元素前移i个位置,最后再把临时空间中的元素放到余下的位置。【分析:如果前
·
2015-10-31 08:51
字符串
在从1到n的正数中1出现的次数 【微软
面试100题
第三十题】
题目要求: 给定 一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。 例如:N = 2,写下1,2.这样只出现了1个“1”。 N = 12,我们会写下1,2,3,4,5,6,7,8,9,10,11,12.这样,1的个数是5. 参考资料:编程之美2.4
·
2015-10-31 08:51
面试
整数的二进制表示中1的个数 【微软
面试100题
第二十八题】
题目要求: 输入一个整数,求该整数的二进制表示中有多少个1. 例如输入10,由于其二进制表示作为1010,有两个1,因此输出2. 参考资料:剑指offer第10题、编程之美2.1 题目分析: 方法1 除2取余法:一个数a%2的值为0或者1,根据是a的二进制表示的最低位为0,则前面结果为0;【取模和取余的效率比较低。】 方法2 位操作法:例如a = 0011
·
2015-10-31 08:51
二进制
栈的push、pop序列 【微软
面试100题
第二十九题】
题目要求: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列,单4、3、5、1、2就不可能是该压栈序列的弹出序列。 参考资料:剑指offer第22题。 题目分析: 如果下一个弹出的数字刚好是栈顶数字,那么直接弹出。如果
·
2015-10-31 08:51
push
从上往下打印二叉树 【微软
面试100题
第十六题】
题目要求: 从上往下打印出二叉树的每个结点,同一层的结点按照从左往右的顺序打印。 例如输入下图的二叉树,则依次打印出10,5,12,4,7 10 / \ 5 12 / \ 4 7 参考资料:剑指offer第23题、编程之美3.10题目分析: 使用一个辅助队列,队列中的每个元素都是一个指向结点的指针,用递归的方法把二叉
·
2015-10-31 08:50
二叉树
和为s的两个数字 【微软
面试100题
第十四题】
题目要求: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。 例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11. 参考资料:剑指offer第41题 题目分析: 方法1 穷举法:两个for,时间复杂度O(n^2). 方法2 二分查找法:逐个遍历选一个数,
·
2015-10-31 08:50
面试
二叉树的镜像 【微软
面试100题
第十五题】
题目要求: 输入一颗二元查找树(二元搜索树),将该树转换为它的镜像。 例如: 8 8 / \ ---> / \ 6 11 11 6 参考资料:剑指offer第20题 题目分析: 思路很简单:从根结点开始,交换左右结点
·
2015-10-31 08:50
二叉树
第一个只出现一次的字符 【微软
面试100题
第十七题】
题目要求: 在一个字符串中找到第一个只出现一次的字符,如输入abaccdeff,则输出b。 参考资料:剑指offer第35题 题目分析: 采用hash表,建立一个256大小的hash空间。需要遍历两次字符串,第一次遍历用来更新hash表,第二次遍历找出第一个只出现一次的字符。 代码实现: #include <iostream> us
·
2015-10-31 08:50
面试
寻找和为定值的多个数 【微软
面试100题
第二十一题】
题目要求: 输入两个整数 n 和m ,从数列1, 2,3.......n 中随意取几个数 ,使其和等于 m ,要求将其中所有的可能组合列出来。不能是一个数。 题目分析: 0/1背包问题,动态规划 代码实现: #include<iostream> #include<list>
·
2015-10-31 08:50
面试
计算圆形是否和正方形相交 【微软
面试100题
第二十三题】
题目要求: 用最简单、最快捷的方法计算出下面这个圆形是否和正方形相交。 3D坐标系原点(0.0,0.0,0.0);圆形:半径 r = 3.0,圆心 o = (*.*,0.0,*.*);正方形:4个角坐标 1:(*.*,0.0,*.*) 2:(*.*,0.0,*.*) 3:(*.*,0.0,*.*) 4:(*.*,0.0,*.*) 题目分析: 用圆心到四条边的距离来判断:如果圆心
·
2015-10-31 08:50
面试
圆圈中最后剩下的数字 【微软
面试100题
第十八题】
题目要求: 0,1,...,n-1这n个数排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删词第3个数字,则删除的前四个数字一次是2、0、4、1,因此最后剩下的数字是3. 参考资料:剑指offer第45题 题目分析: 方法1:用环形链表模拟圆圈,链表可以用c++的
·
2015-10-31 08:50
面试
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他