面试题目
文章平均质量分 79
橘泽
这个作者很懒,什么都没留下…
展开
-
用两个栈实现一个队列
用两个栈实现队列题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。来源:牛客网。链接栈:先入后出,就是只能在线性表的一端进行数据的插入和删除;队列:先入先出,就是只能在队列的在头部删除数据,尾部插入数据;所以如果要用栈来实现队列,就要满足队列的特征,即我们要实现队列的尾插和头删操作。操作如图:而用栈来实现时,要清楚栈的特点,先入的要后出...原创 2019-05-26 16:39:04 · 120 阅读 · 0 评论 -
二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。链接分析:二维数组每一行有序,每一列有序,所以如果target大于一行中的最后一个数,则他一定不在这一行中,col++判断下一行,如果target小于一行中的最后一个数,则有可能在这一行中,...原创 2019-08-17 23:47:25 · 170 阅读 · 0 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析:利用String的方法可以将字符串内的字符替换,方法中传入的是StringBuffer字符串,所以要先将str转换为String,再利用String的replaceAll方法替换空格。代码:public class...原创 2019-08-21 10:49:26 · 123 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。分析:利用栈的先进后出的特点,将链表存入栈中,然后再将栈中元素放入list集合中,这样集合中的元素排序就是链表的逆序。代码:/*** public class ListNode {* int val;* ListNode next = null;** Lis...原创 2019-08-21 10:46:25 · 109 阅读 · 0 评论 -
剑指offer:顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解析:矩阵按照顺时针走一圈,每一圈都分为右,下,左,上,走完一圈后,长和宽都减小1位,将外圈走完,最后的结...原创 2019-08-07 00:38:38 · 92 阅读 · 0 评论 -
剑指offer:二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:分析:可以发现,当传进去的root不为null时,就将root的左右节点交换,6和10交换后他们各自的子节点也跟着换了位置,只要将每个节点的左右子节点都交换就可以发现所有的对称节点都交换了位置。代码:/**public class TreeNode { int val = 0; TreeNode ...原创 2019-08-06 22:32:59 · 76 阅读 · 0 评论 -
剑指offer:链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。分析判断环的入口点问题用快慢指针来解决:代码:/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }...原创 2019-08-08 23:13:53 · 73 阅读 · 0 评论 -
地下迷宫
地下迷宫链接来源:牛客网题目描述小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青...原创 2019-07-17 15:55:55 · 203 阅读 · 0 评论 -
木棒拼图
木棒拼图链接来源:牛客网有一个由很多木棒构成的集合,每个木棒有对应的长度,请问能否用集合中的这些木棒以某个顺序首尾相连构成一个面积大于 0的简单多边形且所有木棒都要用上,简单多边形即不会自交的多边形。 初始集合是空的,有两种操作,要么给集合添加一个长度为 L的木棒,要么删去集合中已经有的某个木棒。每次操作结束后你都需要告知是否能用集合中的这些木棒构成一个简单多边形。输入描述...原创 2019-07-16 17:55:27 · 624 阅读 · 0 评论 -
最近公共祖先
最近公共祖先链接来源:牛客网题目有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。测试样例:输入2,3返回:1解析:满二叉树的子节点与父节点之间的关系...原创 2019-07-18 11:51:09 · 88 阅读 · 0 评论 -
Fibonacci数列
链接来源:牛客网[编程题]Fibonacci数列Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonac...原创 2019-06-02 10:46:15 · 804 阅读 · 0 评论 -
机器人走方格I
链接来源:牛客网[编程题]机器人走方格I有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。测试样例:2,2返回:2思路:每一步都只能往下或者左走,所以每一步都只有两个方法,所以用递归很方便,而且题目上约束x+y<...原创 2019-06-02 10:32:52 · 189 阅读 · 0 评论 -
不要二
链接来源:牛客网[编程题]不要二二货小易有一个W*H的网格盒子,网格的行编号为0~ H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根。小易想知道最多可以放多少块蛋糕在网格盒子...原创 2019-05-29 19:50:36 · 127 阅读 · 0 评论 -
组个最小数
链接来源:牛客网[编程题]组个最小数 (20)字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入描述:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数...原创 2019-06-05 21:16:10 · 210 阅读 · 0 评论 -
末尾0的个数
链接来源:牛客网[编程题]末尾0的个数输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例输入10输出2解题思路:在我看到这道题后第一反应是用递归求出n的阶乘,然后用结果对10取余,得到尾数0的个数,然鹅我没有看到n是一...原创 2019-05-31 16:43:17 · 315 阅读 · 0 评论 -
统计回文
题目描述:链接来源:牛客网“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法...原创 2019-05-23 19:33:03 · 170 阅读 · 0 评论 -
n个数里最小的k个
链接来源:牛客网[编程题]n个数里最小的k个找出n个数里最小的k个输入描述:每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n不超过100。输出描述:输出n个整数里最小的k个数。升序输出示例输入3 9 6 8 -10 7 -11 19 30 12 23 5输出-11 -10 3 6 7解题思路:只要将得到的数组排序好然后输出前k个最小的元素就可以了,...原创 2019-05-30 16:07:07 · 366 阅读 · 1 评论 -
删数
链接来源:牛客网[编程题]删数有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组...原创 2019-05-30 11:41:54 · 698 阅读 · 0 评论 -
人人聊-项目总结【MySQL+Java+socket+swing】
项目介绍:功能技术简介:本项目是一个在线多人聊天室,主要的功能模块有登录注册模块,好友列表模块,私聊群聊窗口等。通过Swing实现可视化界面,登录注册提交等按钮通过后台线程监控,点击会触发事件。利用MySQL做数据存储,连接池采用的是druid数据源。客户端和服务端的连接交互使用了Socket,实现了即时通信。利用多线程实现用户并发操作。效果展示:...原创 2019-08-29 23:37:43 · 574 阅读 · 2 评论