首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
常回家看看
获赞
70
粉丝
9
关注
12
看过 TA
60
男
河海大学
2020
Java
IP属地:江苏
好好学习,天天向上!
私信
关注
拉黑
举报
举报
确定要拉黑常回家看看吗?
发布(48)
评论
刷题
收藏
常回家看看
关注TA,不错过内容更新
关注
2020-03-15 20:51
已编辑
河海大学 Java
剑指Offer面试题:12.变态跳台阶
一、题目————————————————一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级... 它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。————————————————————————————————二、思路————————————————数学推导跳上 n-1 级台阶,可以从 n-2 级跳 1 级上去,也可以从 n-3 级跳 2 级上去...,那么 f(n-1) = f(n-2) + f(n-3) + ... + f(0)同样,跳上 n 级台阶,可以从 n-1 级跳 1 级上去,也可以从 n-2 级跳 2 级上去... ,那么 f(n) = f(n-1) + ...
Java基础
0
点赞
评论
收藏
分享
2020-03-15 19:58
河海大学 Java
剑指Offer面试题:11.跳台阶
一、题目————————————————一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。————————————————二、思路————————————————当 n = 1 时,只有一种跳法:————————————————当 n = 2 时,有两种跳法:————————————————跳 n 阶台阶,可以先跳 1 阶台阶,再跳 n-1 阶台阶;或者先跳 2 阶台阶,再跳 n-2 阶台阶。而 n-1 和 n-2 阶台阶的跳法可以看成子问题,该问题的递推公式为:————————————————三、解决问题——————————...
Java基础
0
点赞
评论
收藏
分享
2020-03-15 16:35
已编辑
河海大学 Java
剑指Offer面试题:10.斐波那契数列
一、题目————————————————写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。————————————————二、思路———————————————— 如果直接写递归函数,由于会出现很多重复计算,效率非常底,不采用。 要避免重复计算,采用从下往上计算,可以把计算过了的保存起来,下次要计算时就不必重复计算了:先由f(0)和f(1)计算f(2),再由f(1)和f(2)计算f(3)……以此类推就行了,计算第n个时,只要保存第n-1和第n-2项就可以了。————————————————三、解决问题————————————————测试用例 1.功能测试(3,5,8等)...
Java基础
0
点赞
评论
收藏
分享
2020-03-15 16:16
已编辑
河海大学 Java
剑指Offer面试题:9.旋转数组的最小数字
一、题目————————————————把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。————————————————二、思路———————————————— 数组在一定程度上是排序的,很容易分析出:可以采用二分法来寻找最小数字。 但是这里面有一些陷阱: 1.递增排序数组的本身是自己的旋转,则最小数字是第一个数字 2.中间数字与首尾数字大小相等,如{1,0,1,1,1,1}和{1,1,1,1,0,1},无法采...
Java基础
0
点赞
评论
收藏
分享
2020-03-13 17:30
河海大学 Java
剑指Offer面试题:8.用两个栈实现队列
一、题目————————————————用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。————————————————二、思路————————————————这道题较简单,自己先试着模拟一下插入删除的过程(在草稿纸上动手画一下):插入肯定是往一个栈stack1中一直插入;删除时,直接出栈无法实现队列的先进先出规则,这时需要将元素从stack1出栈,压到另一个栈stack2中,然后再从stack2中出栈就OK了。需要稍微注意的是:当stack2中还有元素,stack1中的元素不能压进来;当...
Java基础
0
点赞
评论
收藏
分享
2020-03-13 17:31
已编辑
河海大学 Java
剑指Offer面试题:7.二叉树的下一个结点
一、题目————————————————给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。————————————————二、思路————————————————首先自己在草稿纸上画图,进行分析(不再展开)。可以发现下一个结点的规律为: 1.若当前结点有右子树时,其下一个结点为右子树中最左子结点; 2.若当前结点无右子树时, (1)若当前结点为其父结点的左子结点时,其下一个结点为其父结点; (2)若当前结点为其父结点的右子结点时,继续向上遍历父结点的父结点,直到找到一个结点是其父结点的...
Java基础
0
点赞
评论
收藏
分享
2020-03-13 11:10
河海大学 Java
剑指Offer面试题:6.不修改数组找出重复的数字
一、题目————————————————在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3。————————————————二、思路————————————————方法一:数组长度为n+1,而数字只从1到n,说明必定有重复数字。可以由二分查找法拓展:把1n的数字从中间数字m分成两部分,若前一半1m的数字数目超过m个,说明重复数字在前一半区间,否则,在后半区间m+1~n。每次在区间中都一分为二...
Java基础
0
点赞
评论
收藏
分享
2020-03-12 23:34
河海大学 Java
剑指Offer面试题:5.找出数组中重复的数字
一、题目————————————————在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3。————————————————二、思路———————————————— 从哈希表的思路拓展,重排数组:把扫描的每个数字(如数字m)放到其对应下标(m下标)的位置上,若同一位置有重复,则说明该数字重复。————————————————三、解决问题————————————————测试用...
Java基础
0
点赞
评论
收藏
分享
2020-03-13 15:59
已编辑
河海大学 Java
剑指Offer面试题:4.重建二叉树
一、题目————————————————输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1, 2, 4, 7, 3, 5, 6, 8}和中序遍历序列{4, 7, 2, 1, 5, 3, 8, 6},则重建出其二叉树并输出它的头结点。二、思路———————————————— 前序遍历第一个值就是根结点的值,根据该值在中序遍历的位置,可以轻松找出该根结点左右子树的前序遍历和中序遍历,之后又可以用同样方法构建左右子树,所以该题可以采用递归的方法完成。 刚开始思考的时候,想的是构建一个遍历函数,输入为前序和中序遍历...
Java基础
0
点赞
评论
收藏
分享
2020-03-11 16:10
河海大学 Java
剑指Offer面试题:2.替换空格
一、题目请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。二、思路在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符(%20),因此当遍历到一个空格时,需要在尾部填充两个任意字符。令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 和 P2 从后向前遍历,当 P1 遍历到一个空格时,就需要令 P2 指向的位置依次填充 02%(注意是逆序的),否则就填充上 P1 指向字符的值。从后向前遍是为了在改变 P2 所指向的内容时,不会...
Java基础
0
点赞
评论
收藏
分享
2020-03-13 15:59
已编辑
河海大学 Java
剑指Offer面试题:3.从尾到头打印链表
一、题目输入一个链表,按链表从尾到头的顺序返回一个ArrayList。二、思路1.使用头插法使用头插法可以得到一个逆序的链表。头结点和第一个节点的区别:头结点是在头插法中使用的一个额外节点,这个节点不存储值;第一个节点就是链表的第一个真正存储值的节点。2.递归要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。3.使用栈栈具有后进先出的特点,在遍历链表时将值按顺序放入栈中,最后出栈的顺序即为...
Java基础
0
点赞
评论
收藏
分享
2020-03-11 16:09
已编辑
河海大学 Java
剑指Offer面试题:1.二维数组中的查找
一、题目:二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含有该数字,则返回false。————————————————二、解题思路首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角,则...
Java基础
0
点赞
评论
收藏
分享
2020-01-03 12:27
河海大学 Java
坚持✊重新出发
2020-01-03
在牛客打卡14天,今天学习:刷题 30 道
0
点赞
评论
收藏
分享
2019-09-23 22:29
已编辑
河海大学 Java
宁德时代
请问有大哥明天上午宁德时代在南京香格里拉签约吗 面的软件开发,全程面试聊天,发了offer,让明天签,有大佬有这样的吗
YYANCEY:
请问楼主有里面啊?都是现场面吗?
投递宁德时代等公司8个岗位 >
0
点赞
评论
收藏
分享
2019-09-23 22:26
已编辑
河海大学 Java
深信服测试面试经
问到怀疑人生,觉得自己计算机没学过,目前数据结构还没怎么看,计算机网络也就知道点TCP三次握手挥手,其他了解点Linux命令行,项目做 自我介绍 项目分析 问我秒杀系统,每次做优化,有没有性能指标衡量 计算机网络方面 1. tcp和udp的区别 TCP与UDP区别总结: 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付 3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的 ...
小七酱:
测开场景题 2.1000万玉米,找到里面坏的一根玉米.这个用不了二分查找法吧,二分查找发要要求相对有序的数组
投递深信服等公司8个岗位 >
0
点赞
评论
收藏
分享
1
2
3
4
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务