2019年谷歌笔试题.docxVIP

  • 0
  • 0
  • 约4.6千字
  • 约 6页
  • 2026-08-03 发布于浙江
  • 举报

2019年谷歌笔试题

考试时间:______分钟总分:______分姓名:______

模拟试卷

一、选择题

1.给定一个包含`n`个整数的数组`nums`,其中`n`是偶数,请你将数组元素按奇偶性分开,使得所有奇数位于所有偶数之前。请你设计一个算法,尽可能减少元素移动次数,并返回移动次数。假设初始时奇数和偶数是交错出现的。请选择最符合要求的算法描述。

(A)遍历数组,遇到奇数则将其移动到数组最左边,遇到偶数则移动到数组最右边。

(B)使用双指针,一个指针从数组开头向右移动,寻找偶数;另一个指针从数组末尾向左移动,寻找奇数。当两个指针都停下时,如果它们指向的元素满足奇数在前偶数在后,则交换这两个元素,然后两个指针分别向自己的方向移动继续寻找。重复此过程直到两个指针相遇。

(C)首先计算数组中奇数的数量,然后遍历数组,将奇数收集起来,最后将奇数部分和偶数部分拼接。

(D)使用快速排序的思想,选择一个基准元素(例如第一个元素),然后分别将小于基准的元素(奇数)和大于基准的元素(偶数)收集到两个不同的临时数组中,最后将这两个临时数组合并回原数组。

2.请判断下列关于二叉搜索树(BinarySearchTree,BST)性质的说法中,哪些是正确的。

(A)二叉搜索树中,任意节点的左子树中的所有节点的

文档评论(0)

1亿VIP精品文档

相关文档