腾讯2018秋招正式笔试题目小结

腾讯2018秋招正式笔试题目小结

背景介绍

腾讯作为中国科技领域的佼佼者,每年都会举行大规模的招聘,吸引着众多优秀的应聘者前来。其中,笔试是选拔过程中的重要环节,也是一个入职的关键。本文旨在对腾讯2018秋招正式笔试的题目进行详细的分析和总结,帮助广大应聘者更好地进行准备。

题目类型

腾讯2018秋招正式笔试共分为两个部分:编程题和客观题。编程题主要考察应聘者的算法和编程能力,客观题则主要考察应聘者对计算机基础知识的掌握程度。

编程题分析

题目总体情况

腾讯2018秋招正式笔试编程题总共有4道,分别为:

  1. 二叉树遍历
  2. 统计数字
  3. 小Q的歌单
  4. 火车进站

其中前两道属于基础题型,难度适中,后两道则属于中高难度,需要较强的算法能力。

解题思路

在考试中,题目的解题思路是非常重要的一环。以下将对每道题目的解题思路进行详细分析:

1. 二叉树遍历

此题考察基础的二叉树遍历算法,主要思路如下:

  • 前序遍历:根节点 -> 左节点 -> 右节点
  • 中序遍历:左节点 -> 根节点 -> 右节点
  • 后序遍历:左节点 -> 右节点 -> 根节点

此外,此题需要注意空节点的处理方法和输出格式。

2. 统计数字

此题考察基础的字符串操作和数据统计能力,主要思路如下:

  • 将输入的字符串按照非数字字符分割为一个字符串数组
  • 对于每个字符串,使用正则表达式匹配提取其中的数字,并统计数量

此外,此题需要注意数字可能为负数的情况,以及输出结果的格式。

3. 小Q的歌单

此题考察动态规划能力,需要用到排列组合和递推,主要思路如下:

  • 使用二维数组A[i][j]表示i首歌单中添加j首A歌曲的方案数
  • 根据排列组合和递推的公式,可以得到A[i][j]与A[i-1][j-1]和A[i-1][j]之间的关系,然后进行递推计算即可

此外,此题需要注意数据范围和输出结果的格式。

4. 火车进站

此题考察基础的栈的操作和递归思想,需要进行深度优先搜索,主要思路如下:

推导过程比较复杂,请参考详细解析文章。

代码示例

以下为两道题目的代码示例:

1. 统计数字

import re

# 将输入字符串拆分为数字字符串列表
numbers = re.findall(r'\d+', input())

# 统计数字
if numbers:
    count = len(numbers)
    if '-' in numbers:
        count -= 1
    print(count)
else:
    print(0)

2. 小Q的歌单

# 输入数据
n = int(input())
m = int(input())
k = int(input())

# 初始化二维数组
dp = [[0] * (m + 1) for _ in range(n + 1)]
dp[0][0] = 1

# 递推计算
for i in range(1, n + 1):
    for j in range(1, m + 1):
        if j > k:
            dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j] * (j - 1)) % 1000000007
        else:
            dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j]) % 1000000007

# 输出结果
print(dp[n][m])

客观题分析

题目总体情况

腾讯2018秋招正式笔试客观题总共有20道,题目涵盖了计算机基础、网络协议、操作系统、数据库、数据结构和算法等多个方面。

解题思路

客观题在解答时需要注意以下几点:

  • 仔细阅读题目和选项,避免选错
  • 注意每道题目的考点,有助于聚焦正确的答案
  • 对于不知道的问题,应该及时进行查阅,避免选错

代码示例

客观题部分不需要使用代码进行解答。

总结

腾讯2018秋招正式笔试中的编程题共有4道,客观题共有20道,题目难度参差不齐,覆盖面广泛。在考试中,应聘者需要充分做好准备,找到适合自己的解题思路,然后适时调整自己的答题节奏,把握好走向成功的机会。

以上是对“腾讯2018秋招正式笔试题目小结”的详细攻略,希望对广大应聘者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:腾讯2018秋招正式笔试题目小结 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • Go语言数据结构之二叉树必会知识点总结

    Go语言数据结构之二叉树必会知识点总结 二叉树是一种非常重要的数据结构,它被广泛应用于算法、数据处理等领域。在Go语言中,使用二叉树可以实现很多高级数据结构和算法。本文将为大家介绍二叉树相关的基本知识和操作,以及如何利用Go语言实现二叉树。 什么是二叉树? 二叉树是一种树形结构,由一个根节点和两个子树组成。它的每个节点最多有两个子节点,称为左子节点和右子节点…

    数据结构 2023年5月17日
    00
  • Java数据结构与算法学习之循环链表

    Java数据结构与算法学习之循环链表 本文将详细介绍Java数据结构中的一种链表类型——循环链表,并讲解如何使用Java实现循环链表。同时,本文也提供了两个示例,方便读者更好地理解和运用循环链表。 什么是循环链表 循环链表是一种链表,它与单向链表和双向链表不同之处在于它的最后一个结点指向第一个结点。这就形成了一个循环链,因此称之为循环链表。 如何实现循环链表…

    数据结构 2023年5月17日
    00
  • 莫比乌斯反演,欧拉反演学习笔记

    (未更完) 我算法中也就差点数论没学了,这几周卷了,学了一下,分享一下啊。 我会讲得详细一点,关于我不懂得地方,让新手更容易理解。 学习反演有很多定义啥的必须要记的,学的时候容易崩溃,所以希望大家能坚持下来。   第一个定义: $\lfloor x\rfloor$:意思是小于等于 $x$ 的最大整数。 数论分块 学习反演之前,要先学习一些边角料,先来看数论分…

    算法与数据结构 2023年4月17日
    00
  • 一文吃透JS树状结构的数据处理(增删改查)

    一文吃透JS树状结构的数据处理(增删改查) 什么是树状结构 树状结构是一种经典的数据结构,在计算机领域中被广泛应用。树状结构由连通的节点组成,节点之间形成父子关系。一根树状结构的“根节点”没有父节点,每个子节点可以有多个“子节点”,但一个“子节点”只能有一个“父节点”。常见的应用包括文件系统、HTML DOM 和 JSON 数据格式等。 数据结构设计 我们以…

    数据结构 2023年5月17日
    00
  • C++数据结构之红黑树的实现

    《C++数据结构之红黑树的实现》是一篇介绍红黑树实现的文章,通过本文,你可以了解到什么是红黑树以及如何实现红黑树。 什么是红黑树 红黑树是一种自平衡的二叉查找树,它具有良好的平衡性和查找性能。红黑树可以在O(log n)的时间内完成查找、插入和删除操作。 红黑树的一个重要性质是它的任何一个节点都有一个颜色(红色或黑色)属性。在插入、删除操作中,需要通过一定的…

    数据结构 2023年5月17日
    00
  • C语言线性表顺序存储结构实例详解

    C语言线性表顺序存储结构实例详解 线性表的定义 线性表是数据结构中最基本的结构之一。它们是由相同数据类型的一组数据元素组成的序列。线性表具有唯一的首元素和唯一的末元素,除第一个元素之外的每个元素都有唯一的前继,除最后一个元素之外的每个元素都有唯一的后继。 线性表的存储方式 线性表有两种存储方式: 顺序存储和链式存储。 顺序存储采用一段连续的内存空间来存储线性…

    数据结构 2023年5月17日
    00
  • Redis数据结构原理浅析

    Redis数据结构原理浅析 Redis是一种高性能键值型数据库,支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。本文将对Redis各种数据结构的原理进行浅析。 字符串 Redis中的字符串数据结构不仅可以存储普通的字符,还可以存储整数和浮点数。字符串的最大长度为512MB。字符串结构的底层实现是从一个内存块开始存储的,该内存块的大小为实际存储的…

    数据结构 2023年5月17日
    00
  • 回溯理论基础及leetcode例题

    学习参考 回溯 与递归相辅相成;回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。 回溯搜索法 纯暴力搜索解决的问题 组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式(与组合差别,排列有元…

    算法与数据结构 2023年4月17日
    00
合作推广
合作推广
分享本页
返回顶部