zoom 笔试 2021/8/28
zoom笔试
第一部分
单选:
- 给出ip和掩码,计算网络号
- 排序算法,各种的复杂度,稳定性,二分法比较次数
- Java代码判断执行结果
- 图的基础知识
- a = 2 | 24 ,这个原来是或运算啊,我当时没看出来,梦错答案了啊!!
第二部分
多选:
- 排序问题
- 数据库引擎,日志。有道题问执行了delete后,执行下列那个语句磁盘不会删除
- 其他的忘了,有挺多不确定的
第三部分
第一题:
找132模式的匹配,有一个数组,找出遵循以下规则的个数,有下标索引i,j,k满足条件:
i < j < k 并且 nums[i] < nums[k] < nums[j]
例子:
[-1,3,2,0]
3
解释:满足条件的有[-1, 3, 2] [-1,3,0] [-1,2,0]
直接暴力了,我是想不到啥好的方法。。
/**
* @author keboom
* @date 2021/8/28
*/
public class Solution1 {
public int find132Pattern (int[] nums) {
int len = nums.length;
int count = 0;
// 第一个数
for (int i = 0; i < len-2; i++) {
// 第二个数
for (int j = i+1; j < len-1; j++) {
// 第三个数
for (int k = j+1; k < len; k++) {
if (nums[i] < nums[k] && nums[k] < nums[j]) {
count++;
}
}
}
}
return count;
}
public static void main(String[] args) {
int[] nums = {-1, 3, 2, 0};
int res = new Solution1().find132Pattern(nums);
System.out.println(res);
}
} 第二题:
给你个数组,滑动窗口大小,滑动窗口步长。求每个窗口中最大值
例子:
[1,3,-1,-3,5,3,6,7],3,2
[3, 5, 6 ,7]
解释:[1,3-1] 中最大值3,[-1,-3,5] 中最大值5,[5,3,6] 中最大值6,[6,7] 中最大值7
由于他给的例子中数组长度都是偶数,所以我的返回结果中数组长度有问题,没有考虑数组长度为奇数的情况,最后也没来的及改,早知道前面加快点速度了。。。只过了40%,剩下的应该都是数组长度为奇数的情况了。
import java.util.Arrays;
/**
* @author keboom
* @date 2021/8/28
*/
public class Solution2 {
public int[] slideWindow(int[] nums, int windowSize, int step) {
int left = 0;
int right = windowSize-1;
int resLen = 0;
// 如果是偶数
if (nums.length % 2 == 0) {
resLen = nums.length / step;
} else { // 如果是奇数
resLen = (nums.length+1)/step;
}
int[] res = new int[nums.length / step];
int resIndex = 0;
while (left < nums.length) {
findMax(nums, left, right,res,resIndex);
left += step;
right += step;
resIndex++;
}
return res;
}
private void findMax(int[] nums, int left, int right, int[] res, int resIndex) {
int max = Integer.MIN_VALUE;
for (int i = left; i <= right; i++) {
if (i == nums.length) {
break;
}
max = Math.max(max, nums[i]);
}
res[resIndex] = max;
}
//[1,3,-1,-3,5,3,6,7],3,2
//[1,3,-1,-3,5,3,6,7],3,1
public static void main(String[] args) {
int[] nums = {1,3,-1,-3,5,3,6,7};
int[] res = new Solution2().slideWindow(nums, 3, 2);
System.out.println(Arrays.toString(res));
}
}
#zoom校招##笔经##ZOOM#
三奇智元机器人科技有限公司公司福利 65人发布
