首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
丁满历险记
北京邮电大学
2019届
Java工程师
关注
私信
加入黑名单
举报TA
首页
刷题
圈子
项目
笔记
基本资料
真题试卷
在线编程
心理测试
回答的问题(9)
分苹果
1
1.将输入值存入数组,并计算总和sum; 2.若sum不能被n整除,直接输出-1;否则计算平均值avg; 3.遍历数组,如果遇到某个元素的奇偶性跟avg不同,直接输出-1;否则累加(大于avg的元素 / 2)的值。 import java.util.*; public class M...
发表于 2018-01-23 10:24:18
孩子们的游戏(圆圈中最后剩下的数)
2
分析:约瑟夫环问题,可以用数组模拟,但需要维护是否出列的状态。使用LinkedList模拟一个环cycle,出列时删除对应的位置。 1. 报数起点为start(初始为0),则出列的位置为out = (start + m - 1) % cycle.size(),删除out位置; 2. 更新...
发表于 2018-01-22 18:03:16
和为S的连续正数序列
421
1)由于我们要找的是和为S的连续正数序列,因此这个序列是个公差为1的等差数列,而这个序列的中间值代表了平均值的大小。假设序列长度为n,那么这个序列的中间值可以通过(S / n)得到,知道序列的中间值和长度,也就不难求出这段序列了。 2)满足条件的n分两种情况: n为奇数时,序列中间的数正...
发表于 2018-01-14 19:12:33
把数组排成最小的数
2
换种思路: public class Solution { public String PrintMinNumber(int [] numbers) { Arrays.sort(numbers); String ans = ""; ...
发表于 2018-01-14 15:31:19
判断是不是平衡二叉树
402
最直接的做法,遍历每个结点,借助一个获取树深度的递归函数,根据该结点的左右子树高度差判断是否平衡,然后递归地对左右子树进行判断。 public classSolution { public boolean IsBalanced_Solution(TreeNode root) { ...
发表于 2018-01-12 14:16:04
二叉搜索树与双向链表
31
高票几个解法要么递归实现,要么借助栈迭代实现,其实都需要O(h)或O(n)的额外空间。这里分享一种非递归、O(1)空间复杂度的解法。该方法通过Morris遍历实现(不熟悉的同学可以搜索Morris Traversal),将二叉树重构为所有结点只有右子树的一条链。代码如下: public cl...
发表于 2018-01-11 18:08:32
二叉搜索树的后序遍历序列
6
以[4, 8, 6, 12, 16, 14, 10]为例,首先最右边的元素10为根,然后从后往前找到大于根的一个连续序列[12, 16, 14](即右子树),为了区分左右子树,这个查找过程是必须的。但没必要遍历左子树,因为我们可以在递归函数中加一个参数来记录根的值,以限制左子树部分的上限,这样每次可...
发表于 2018-01-11 15:25:52
反转链表
2
1)迭代实现: publicclassSolution { publicListNode ReverseList(ListNode head) { ListNode dummy = newListNode(-1), p = head; while(p ...
发表于 2018-01-08 10:48:41
旋转数组的最小数字
1
二分查找,可以应对出现重复元素的情况。 1)先考虑没有重复元素的情况:(eg: 2, 3, 4, 1)、(eg: 4, 1, 2, 3) 如果mid位置的元素大于high位置的元素,则最小值一定在mid位置的右边,即mid+1到high;否则最小值出现在low到mid,这也就解释了为什...
发表于 2018-01-07 16:16:00
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题