Atlassian 面试经历(校外)
今年我参加了校外的 Atlassian Girlscript。正如您所猜到的,它的第一轮是在 HackerRank 上进行在线编码。总共有 3 个问题和 90 分钟提交测试。
在线编码回合:
- 阵列缩减
有一个由n 个整数组成的数组,称为nums 。通过执行移动操作,可以将数组减少一个元素。
每个动作都有:
- 选择两个不同的元素 nums[i] 和 nums[j](i 和 j 不相等)
- 删除两个元素
- 将两个选定元素的总和添加到数组的末尾
每个移动都有一个与之相关的成本——移动期间从数组中删除的 2 个元素的总和。因此,计算将数组减少为一个元素的最小总成本。
输入:包含 n 个元素的 nums 数组
输出:显示最小成本的整数值
Input: [4, 6, 8] Output: 18 There are two possibilities; 1. Pick the first two elements i.e. 4, 6 Remove them from the list. The new list will be [8] Add the sum 4+6=10 to the end of the list [8, 10] Again, pick two elements. Now only remaining elements are 8, 10 Remove them from the list. [] Add the sum 8+10=18 to the end of the list [18]. 18 is the output since one element is the terminating condition. 2. One can also pick 4, 8 Remove them from the list. [6] Add the sum to last [6, 12] Again, pick two elements. 6, 12 Remove them from the list [] Add the sum 6+12=18 to the end of the list [18]. Input: [4, 4, 4, 4, 6] Output: 52 Input: [1, 2, 3, 4] Output: 19
- 有效的 BST 排列
给定一个整数,确定可以由编号从 1 到该整数的节点创建的有效二叉搜索树的数量。
输入:表示节点的整数
输出:BST 总数
Input: 2 Output: 2 There will be two possible BST with 2 nodes. 2 (root) 1(root) 1 (right child of the root) 2(left child of the root) Input: 1 Output: 1 Input: 3 Output: 5
- 强关联群体
一群软件工程师想要建立一个紧密联系的小组,这样每个人都认识小组内的每一个人。
如果网络有n个人,并且有m对关系连接他们,则求最大强连接组的最小规模。将人视为图节点,将他们的关系视为边。
输入:整数 NumNodes(组内人数),整数 NumEdges(节点之间的关系)
输出:整数,表示必须形成强连接组的最小人数
Input: 5, 4 Outpu: 3 Input: 7, 6 Output: 4
快乐编码!