A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第一篇 面试题      
1.1.简介 .................................................................................................. 8
1.2.面试题集合(一) ............................................................................. 8

1.2.1.把二元查找树转变成排序的双向链表 ......................................................... 8
1.2.2.下排每个数都是先前上排那十个数在下排出现的次数.............................11
1.2.3.设计包含 min 函数的栈................................................................................ 14
1.2.4.求子数组的最大和............................................................................................. 20
1.2.5.在二元树中找出和为某一值的所有路径........................................................ 22
1.2.6.Top K 算法详细解析---百度面试................................................................. 29
1.2.7.翻转句子中单词的顺序        ......................................................................... 31
1.2.8.判断整数序列是不是二元查找树的后序遍历结果..................................... 33
1.2.9.查找最小的 K 个元素-使用最大堆................................................................ 35
1.2.10.求二叉树中节点的最大距离................................................................... 37
1.3.面试题集合(二)......................................................................................... 40
1.3.1.求 1+2+…+n ............................................................................................. 40
1.3.2.输入一个单向链表,输出该链表中倒数第 k 个结点............................... 44
1.3.3.输入一个已经按升序排序过的数组和一个数字        .............................. 46
1.3.4.输入一颗二元查找树,将该树转换为它的镜像        .............................. 48
1.3.5.输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往
右的顺序打印              ........................................................................................... 49
1.3.6.在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b
              ........................................................................................... 52
1.3.7. n 个数字(0,1,…,n-1)形成一个圆圈 .................................................. 53
1.3.8.定义 Fibonacci数列         .................................................................... 58
1.3.9.左移递减数列查找某一个数        .......................................................... 60
1.3.10.对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相
邻(上下左右)某一个元素也加一         ............................................................ 63
1.4.面试题集合(三)         ................................................................................ 73
1.4.1.递归和非递归俩种方法实现二叉树的前序遍历        .............................. 73
1.4.2.请修改 append 函数,利用这个函数实现        ..................................... 78
1.4.3.有 n 个长为 m+1的字符串         .................................................... 82 1.4.4. n 支队伍比赛 ........................................................................................................ 84
1.4.5.求一个矩阵中最大的二维矩阵(元素和最大)         ................................... 86
1.4.6.强大的和谐         ................................................................................. 90
1.4.7.通过交换 a,b中的元素,使[序列 a 元素的和]与[序列 b元素的和]之间的差最小
................................................94
1.4.8.计算 1 到 N的十进制数中 1的出现次数         ...................................... 97
1.4.9.栈的 push、pop序列[数据结构]         .................................................. 99
1.4.10.统计整数二进制表示中 1 的个数        .................................................102
1.5.面试题集合(四)         ...............................................................................104
1.5.1.跳台阶问题         ................................................................................104
1.5.2.左旋转字符串        ..............................................................................105
1.5.3.在字符串中找出连续最长的数字串         .............................................109
1.5.4.链表操作        ..................................................................................... 111
1.5.5.有 4 张红色的牌和 4张蓝色的牌        ................................................ 115
1.5.6.输入两个整数 n和 m,从数列 1,2,3        n中 随意取几个数    .......................... 116
1.5.7.输入一个表示整数的字符串,把该字符串转换成整数并输出        ........ 118
1.5.8.给出一个数列,找出其中最长的单调递减(或递增)子序列        ........121
1.5.9.四对括号可以有多少种匹配排列方式        ...........................................124
1.5.10.输入一个正数 n,输出所有和为 n 连续正数序列         ........................125
1.6.面试题集合(五)         ...............................................................................126
1.6.1.输入一棵二元树的根结点,求该树的深度        ....................................126
1.6.2.输入一个字符串,打印出该字符串中字符的所有排列         .................128
1.6.3.输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分        
....................................................130
1.6.4.给定链表的头指针和一个结点指针,在 O(1)时间删除该结点         .....132
1.6.5.输入一个链表的头结点,从尾到头反到来输出每个结点的值        ........134
1.6.6.用 C++设计一个不能被继承的类         ................................................136
1.6.7.给定链表的头指针和一个结点指针,在 O(1)时间删除该结点         .....138
1.6.8.一个数组中除了两个数字之外,其余数字均出现了两次        ...............141
1.6.9.两个单向链表,找出它们的第一个公共结点         ...............................142
1.6.10.输入两个字符串,从第一字符串中删除第二个字符串中所有的字符 ...147
1.7.面试题集合(六)         ...............................................................................148
1.7.1.寻找丑数        .....................................................................................148
1.7.2.输入数字 n,按顺序输出从 1 最大的 n 位 10进制数        ...................152
1.7.3.用递归颠倒一个栈        .......................................................................156
1.7.4.从扑克牌中随机抽 5 张牌,判断是不是一个顺子         .......................158
1.7.5.把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 S         ..........162
1.7.6.排出的所有数字中最小        ................................................................165
1.7.7.数组的旋转         ................................................................................170
1.7.8.给出一个函数来输出一个字符串的所有排列         ...............................171
1.7.9.实现函数 double Power(double base,int exponent)         .........................173
1.7.10.更优的解法:        ..............................................................................175
1.7.11.单列模式        ....................................................................................176
1.8.面试题集合(七)         ...............................................................................178
1.8.1.找出该字符串中对称的子字符串的最大长度         ...............................178
1.8.2.数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字 180 1.8.3.输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点 180
1.8.4.复杂链表        .....................................................................................187
1.8.5.链表面试题         ................................................................................190
1.8.6.链表和数字的区别在哪里         ...........................................................197
1.8.7. strstr()函数功能 .................................................................................198
1.8.8.一个 int 数组,里面数据无任何限制,要求求出所有这样的数 a,其左
边的数都小于等于它,右边的数都大于等于它        .........................................199
1.8.9.一个文件,内含一千万行字符串,每个字符串在 1K 以内,要求找出所有
相反的串对,如 abc 和 cba。         ...................................................................200
1.8.10.给出一个文件,里面包含两个字段{url、size},即 url为网址,size 为对应
网址访问的次数         .......................................................................................205
1.9.面试题集合(八)         ...............................................................................209
1.9.1.给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
209
1.9.2.用 C 语言实现函数 void * memmove(void *dest,const void *src,size_t n) 210
1.9.3.随机发生器         ................................................................................212
1.9.4.搜索引擎        .....................................................................................212
1.9.5.已知一个字符串,比如 asderwsde,寻找其中的一个子字符串比如 sde的个数,如果没有返回
0,有的话返回子字符串的个数         ...................................216
1.9.6.编写一个程序,把一个有序整数数组放到二叉树中        ......................218
1.9.7.大整数数相乘的问题         ..................................................................220
1.9.8.求最大连续递增数字串        ................................................................221
1.9.9.函数将字符串中的字符'*'移到串的前部分         .....................................222
1.9.10.单链表,编程实现其逆转         ...........................................................223
1.10. 面试题集合(九)        ............................................................................225
1.10.1.删除字符串中的数字并压缩字符串         .............................................225
1.10.2.求两个串中的第一个最长子串(神州数码以前试题)         .................226
1.10.3.不开辟用于交换数据的临时空间,如何完成字符串的逆序         ..........228
1.10.4.求随机数构成的数组中找到长度大于=3的最长的等差数列         ........228
1.10.5.外排序         .......................................................................................230
1.10.6.用递归的方法判断整数组 a[N]是不是升序排列         ..........................232
1.10.7. N 个鸡蛋放到 M个篮子中,篮子不能为空         ................................232
1.10.8. Hash         .........................................................................................234
1.10.9.如何迅速匹配兄弟字符串         ...........................................................242
1.10.10.腾讯数组乘积赋值的问题         ..........................................................243
1.11.面试题集合(十)         ................................................................................244
1.11.1.有一个整数数组,请求出两两之差绝对值最小的值        .....................244
1.11.2.给出一个函数来合并两个字符串 A和 B。字符串 A的后几个字节和字符
串 B 的前几个字节重叠         ............................................................................245
1.11.3.编程实现两个正整数的除法(不能用除法操作符)        .....................250
1.11.4.平面上 N个点,没两个点都确定一条直线,求出斜率最大的那条直线所
通过的两个点        ..........................................................................................251
1.11.5.字符串原地压缩         ........................................................................252
1.11.6.一排 N(最大1M)个正整数+1递增,乱序排列         .......................253
1.11.7.找出被重复的数字        ......................................................................254
1.11.8. Hashtable 和 HashMap 的区别         ....................................................264
1.11.9.用 1、2、2、3、4、5这六个数字,写一个 main 函数,打印出所有不同的排列
268
1.11.10.局部变量、全局变量和静态变量的含义         ....................................269
1.12. 面试题集合(十一)         .........................................................................272
1.12.1.有两个双向循环链表 A,B,知道其头指针为:pHeadA,pHeadB,请写一
函数将两链表中 data 值相同的结点删除        ...................................................272
1.12.2.找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad" 274 1.12.3.把十进制数(long型)分别以二进制和十六进制形式输出,不能使用 printf 系列
275
1.12.4. 40 亿个整数         ..............................................................................277
1.12.5. bitmap 减少 hash算法所用空间         ..................................................281
1.12.6.定义一个类似函数的宏,宏运算的结果来表示大于和小于         ..........285
1.12.7.给定一个集合 A         ........................................................................286
1.12.8.已知一个函数 f可以等概率的得到 1-5间的随机数,问怎么等概率的得到
1-7的随机数         ............................................................................................289
1.12.9.判断一个自然数是否是某个数的平方        ...........................................290
1.12.10.一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离 f值最近、大于 f
值的结点。复杂度如果是 O(n2)则不得分。         .....................291
1.12.11. strstr和 strncmp源码实现         ............................................................294
1.13. 面试题集合(十二)         .........................................................................295
1.13.1.对于从 1到 N的连续整集合合,能划分成两个子集合,且保证每个集
合的数字和是相等        ...................................................................................295
1.13.1.对于从 1到 N的连续整集合合,能划分成两个子集合,且保证每个集
合的数字和是相         .......................................................................................295
1.13.2. Topk         .........................................................................................298
1.13.3. Collection         ...................................................................................301
1.13.4.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字 311
1.13.5.求集合的所有子集的算法         ...........................................................314
1.13.6.将一个数中的偶数位 bit 和奇数位 bit 交换         ................................318
1.13.7.二分查找实现        ..............................................................................318
1.13.8.集合合并...........................................................................................322
1.13.9.把求子集运算转换为组合问题         ....................................................323
1.13.10.算法设计        ....................................................................................324
1.14. 面试题集合(十三)         .........................................................................327
1.14.1.各种排序算法        ..............................................................................327
1.15. 面试题集合(十四)         .........................................................................393
1.15.1.判断图里有环        ..............................................................................393
1.15.2.整数的素数和分解问题        ................................................................422
1.15.3.求两个或 N 个数的最大公约数(gcd)和最小公倍数(lcm)的较优算法 .....425
1.16. 面试题集合(十五)         .........................................................................426
1.16.1. ApplicationContext         ......................................................................426
1.16.2. ApplicationContext 事件传播         .......................................................431
1.16.3. mysql有多种存储引擎        ................................................................433
1.16.4.论 MySQL何时使用索引,何时不使用索引         ................................436
1.16.5. SQL多表连接查询实现语句         .....................................................439
1.17. 面试题集合(十六)         .........................................................................442
1.17.1. 12 个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对
应的第一排的人高,问排列方式有多少种         ..................................................442
1.17.2.毒酒        ............................................................................................448
1.17.3.用代码验证阿里巴巴的一道关于男女比例的面试题        ......................448
1.17.4.金币        ............................................................................................451
1.17.5.海盗        ............................................................................................452
1.17.6. 1024        ..........................................................................................454
1.17.7.最少零钱问题 最少硬币问题         .....................................................455
1.17.8.石子合并        .....................................................................................456
1.18. 面试题集合(十七)         .........................................................................460
1.18.1.生产者-消费者模式         .....................................................................460
1.18.2.动态规划        .....................................................................................466
1.18.3. 01 背包         .....................................................................................472
1.18.4.贪心算法        .....................................................................................477
1.18.5.装箱问题        .....................................................................................482
1.19. 教你如何迅速秒杀掉:99%的海量数据处理面试题         ...........................484



先看本次的面试题目录,需要详细了解面试题,需要回帖下载附件哦,每一道面试题都是老师们精心收集的,用心回帖下载学习哈
游客,如果您要查看本帖隐藏内容请回复

点评

下载不了,,,,,,  发表于 2018-8-5 10:10

523 个回复

倒序浏览
哇,总结的的这么多学习了
回复 使用道具 举报
算法很重要。
回复 使用道具 举报
学习学习,谢谢楼主分享
回复 使用道具 举报
快速浏览,快速收藏
回复 使用道具 举报
收藏了
回复 使用道具 举报
yugong 初级黑马 2017-9-25 16:29:42
7#
学习来啦,拜谢~!
回复 使用道具 举报

哇,总结的的这么多学习了
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
感谢,看起来很厉害的样子
回复 使用道具 举报
C+++++++++++++++++++++++++++++++++++++++++++++
回复 使用道具 举报
很给力,学习
回复 使用道具 举报
谢谢分享。试试看
回复 使用道具 举报
学习学习,谢谢楼主分享
回复 使用道具 举报
666,基本是程序员面试宝典中的
回复 使用道具 举报
我来占层楼啊   
回复 使用道具 举报
6666666666666
回复 使用道具 举报
先支持一下,虽然有工作了
回复 使用道具 举报
谢谢求下载
回复 使用道具 举报
给力给力给力给力给力给力给力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马