腾讯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日

相关文章

  • 基于C++详解数据结构(附带例题)

    基于C++详解数据结构(附带例题)攻略 简介 该攻略是基于C++编程语言详解数据结构的,主要涉及数据结构中的相关概念、操作以及例题演练。C++语言作为一种高性能的编程语言,对于开发数据结构问题具有很大的优势。 数据结构概念 数据结构基本概念 数据结构是计算机存储、组织数据的方式。具体来说,数据结构可以理解为计算机存储数据的一种方式,也可以看作是一些组织数据的…

    数据结构 2023年5月17日
    00
  • C语言数据结构时间复杂度及空间复杂度简要分析

    C语言数据结构时间复杂度及空间复杂度简要分析 什么是时间复杂度和空间复杂度? 在分析算法和数据结构的性能时,时间复杂度和空间复杂度是必须考虑的因素。 时间复杂度:衡量算法执行时间所需的资源,也就是算法的速度。通常使用“大O符号”来表示时间复杂度,例如O(1)、O(n)、O(nlogn)等。 空间复杂度:衡量算法使用的内存资源,也就是算法的空间利用率。通常使用…

    数据结构 2023年5月17日
    00
  • Java数据结构之LinkedList的用法详解

    Java数据结构之LinkedList的用法详解 LinkedList简介 LinkedList是Java中的一个数据结构,它是一个双向链表,可以提供快速的插入和删除操作。LinkedList中的元素分别保存在每个节点中,每个节点包含了指向前一个节点和后一个节点的引用。 使用LinkedList的好处是,其可以快速的进行插入和删除操作,但是如果需要随机存取中…

    数据结构 2023年5月17日
    00
  • Python数据结构之翻转链表

    对于“Python数据结构之翻转链表”的完整攻略,我会按照以下顺序进行讲解: 1.什么是链表? 2.如何翻转链表? 3.示例1:翻转一个简单的链表 4.示例2:翻转一个带环的链表 5.如何在Python中实现翻转链表? 接下来,我会详细讲解每个部分。 什么是链表? 链表是一种数据结构,它由一系列的节点组成,每个节点包含了数据和指向下一个节点的指针。链表有很多…

    数据结构 2023年5月17日
    00
  • c语言数据结构之并查集 总结

    C语言数据结构之并查集总结 简介 并查集,也称作不相交集合,是一种树型的数据结构。并查集用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 并查集只有两个操作: find:确定某个元素属于哪个子集。它可以被用来确定两个元素是否属于同一子集。 union:将两个子集合并成同一个集合。 基本实现 以快速查找find和…

    数据结构 2023年5月17日
    00
  • 「学习笔记」AC 自动机

    「学习笔记」AC 自动机 点击查看目录 目录 「学习笔记」AC 自动机 算法 问题 思路 代码 例题 Keywords Search 玄武密码 单词 病毒 最短母串 文本生成器 背单词 密码 禁忌 前置:「学习笔记」字符串基础:Hash,KMP与Trie。 好像对例题的讲解越来越抽象了? 算法 问题 求 \(n\) 个单词在一个长度为 \(m\) 的文章里出…

    算法与数据结构 2023年5月5日
    00
  • C语言数据结构之队列算法详解

    C语言数据结构之队列算法详解 什么是队列? 在计算机科学中,队列是一种抽象数据类型或线性数据结构。它具有先进先出(FIFO)的特性,即先进入队列的元素先被处理或先被移除。队列通常用于解决先到先服务的问题(如请求处理),但也常用于广泛的异步编程中。 队列的特点 队列通常具有以下特点: 队列可以为空; 队列从队首插入元素,从队尾移除元素; 队列只允许从队尾插入元…

    数据结构 2023年5月17日
    00
  • 李航统计学习概述

    监督学习 感知机 概念: 感知机模型的基本形式是: \(f(x) = sign(w \cdot x + b)\) 其中,\(x\) 是输入样本的特征向量,\(w\) 是权值向量,\(b\) 是偏置量,\(w \cdot x\) 表示向量 \(w\) 和 \(x\) 的点积。\(sign\) 函数表示符号函数,当输入大于 0 时输出 1,否则输出 -1。 要求…

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