
笔试编程
好小的风
这个作者很懒,什么都没留下…
展开
-
腾讯2020届实习编程题1——拆分整数
腾讯2020届实习编程题1——拆分整数题目描述小Q在进行一个对数字进行拆分的游戏,游戏规则如下:小Q最初只有一个整数N,接下来每一轮中,小Q被允许对现有的每个数进行下面两个操作之一1、对当前小Q手里的所有数减12、把所有数都拆分为更小的两个数之和但是拆分操作只允许使用至多k次,现在小Q想知道把N完全消去需要多少轮操作。输入描述输入一行包含两个整数N, K (1< N&...原创 2019-04-10 15:58:17 · 1163 阅读 · 1 评论 -
[Leetcode]——Linked List Cycle II (链表中环的入口节点)
题目描述Given a linked list, return the node where the cycle begins. If there is no cycle, return null.To represent a cycle in the given linked list, we use an integer pos which represents the position...原创 2019-06-26 16:09:37 · 231 阅读 · 1 评论 -
剑指Offer 42 : 连续子数组的最大和
剑指Offer 42 : 连续子数组的最大和,即最大子序和问题。算法描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。代码描述主要的算法描述可以参见《剑指Offer》P218-P220,基...原创 2019-07-09 11:01:14 · 223 阅读 · 0 评论 -
LeetCode 3 : 无重复字符的最长子串
算法描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。代码描述方法一:对于字符的遍历,譬如abc,然后又出现一个a,则此时就应该删除第一个a,继续往后遍历,以此类推,所以我们需要记录之前出现过的字符,记录的方式主要是用dic记录字符出现的个数,但是注意...原创 2019-07-10 11:19:41 · 111 阅读 · 0 评论 -
网易20届提前批笔试第一题:字典序排列
其实这题就是在考字典序全排列,然后计算出总的排列数(n的阶乘),倒数第Q个排列即为正数(n!-Q-1)个排列。考试的时候傻了,用一个list去储存所有的排列,其实根本不需要的。真的傻了傻了。def permute(nums, n, total): cnt = 0 idx = 0 while True: try: if nums ...原创 2019-08-03 17:45:40 · 275 阅读 · 0 评论 -
Python 计数相关的题
python 计数相关的题在简书上看到了一篇文章介绍了Leetcode上“计数”相关的题,介绍 了一些非常巧妙的方法,所以转载过来做下记录。问题:给定序列,统计所有元素出现的次数法一:seq.count()seq = 'abcdbabaecccdbb' #待统计序列#先变成集合得到seq中的所有元素,避免重复遍历set_seq = set(seq) rst = []...转载 2019-08-08 17:11:38 · 272 阅读 · 0 评论 -
牛牛背包问题----三种解法详解
题目描述牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。输入描述输入包括两行第一行为两个正整数nnn和w(1<=n<=30,1<=w<=2∗109)...原创 2019-08-22 23:38:25 · 713 阅读 · 0 评论 -
快手笔试选择题梳理(机器学习)
梳理一下快手的笔试中的选择题吧,主要是机器学习的内容,当然数学题也有一部分。卷积层的存储量和计算量存储量:C(上一层卷积数量) * K(卷积核高) * K(卷积核宽) * C(这一层卷积核的数量)计算量:C(上一层卷积数量) * K(卷积核高) * K(卷积核宽) * C(这一层卷积核的数量) * W(输出特征图的宽度) * H(输出 特征图的高度)即为:O(K∗K∗Cin∗M∗M∗...原创 2019-08-29 14:36:11 · 913 阅读 · 0 评论 -
动态规划之矩阵链乘法
今天下午笔试遇到了矩阵链乘法,谨在此总结一下。分析关于本题的分析,动态规划之矩阵链乘法理解 已经讲的很详细了,我在此仅简单总结一下:A1∗A2A_1*A_2A1∗A2生成一个维度是[p0,p2][p_0, p_2][p0,p2]的矩阵 (A1A_1A1的维度为[p0,p1][p_0, p_1][p0,p1],A2A_2A2的维度为[p1,p2][p_1, p_2][p1,p...原创 2019-08-31 21:42:01 · 204 阅读 · 0 评论 -
抽屉中最多放多少球
昨天遇到一道比较有意思的题,特来分享一下。题目描述一排抽屉,编号1到10,每个抽屉装有红色小球,一共100个,第一个抽屉装有16个,编号相邻的三个抽屉装的红球个数相等,求第8个抽屉最多可能有多少个红球?解题思路由编号相邻的三个抽屉装的红球个数相等,也就是说以下的每一行的抽屉装的红球之和相等:1 2 32 3 43 4 54 5 65 6 76 7 87 8 9...原创 2019-09-03 21:10:10 · 231 阅读 · 0 评论 -
[华为练习题]——合唱队
[华为练习题]——合唱队题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K)使得T1<T2<…<Ti-1...原创 2019-06-04 15:59:12 · 696 阅读 · 0 评论 -
[Leetcode]——Longest increasing subsequence
[Leetcode]——Longest increasing subsequence题目描述Given an unsorted array of integers, find the length of longest increasing subsequence.Example:Input: [10,9,2,5,3,7,101,18]Output: 4Explanation: ...原创 2019-06-04 15:48:51 · 150 阅读 · 0 评论 -
腾讯2020届实习笔试编程题3
腾讯2020届实习笔试编程题3今晚刚刚完成了腾讯2020届的实习笔试(岗位:算法岗),话不多说,现附上第三题编程题:编程题3我的解答import numpy as npdef func(n, k, my_array): if 1<= n <= 105 and 1 <= k <= 105: flag = True else:...原创 2019-04-07 22:48:06 · 828 阅读 · 1 评论 -
# 腾讯2020届实习编程题2——Wine trading in Gergovia
腾讯2020届实习编程题2——Wine trading in Gergovia题目描述小Q所在的城镇里有一条笔直的公路,上面分布n个村庄,编号1到n。有些村庄需要购进水果,有些村庄需要贩卖水果,设第i个村庄对水果的需求量为AiA_iAi,Ai>0A_i>0Ai>0表示该村需要贩卖水果,Ai<0A_i<0Ai<0表示该...原创 2019-04-09 19:53:30 · 328 阅读 · 0 评论 -
剑指offer[21]——调整那个数组顺序使奇数位于偶数前面
剑指offer[21]——调整那个数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路及相应代码题目是从牛客网上摘过来的,不同于《剑指Offer》,该题还要求奇数、偶数之间的相对位置不变,所以不能只简单地采用两个指针,具体代码及...原创 2019-05-18 23:07:13 · 116 阅读 · 0 评论 -
剑指offer[20]:表示数值的字符串
剑指offer[20]——表示数值的字符串题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。解题思路及相应代码class Solution: def isNumeric(se...原创 2019-05-18 17:23:14 · 210 阅读 · 0 评论 -
十大经典排序算法之"冒泡排序"
十大经典排序算法之"冒泡排序"冒泡排序可谓是最简单的排序算法了,它重复地遍历需要排序的数组,一次比较相邻的两个元素,如果前面的数大于后面的数则进行交换。算法描述比较相邻的两个元素,如果前面的数 > 后面的数,则进行交换;对每一对相邻的元素进行上述步骤,从开始的一对到最后的一对,这样数组中最大的数应该在数组的末尾;对除了最后一个元素外的其他元素,重复上述步骤,直到排序结束。代码...原创 2019-06-13 16:20:16 · 306 阅读 · 0 评论 -
十大经典排序算法之"选择排序"
十大经典排序算法之"选择排序"选择排序的工作原理简单直观,和冒泡排序也有异曲同工之处,它将需要排序的数组分为有序区和无序区,首先在无序区选出最小的数,放到有序区的末尾(有序区为从小到大排序好的数组,因此此时从无序区选出的最小的数一定大于有序区中最大的数),以此类推,直到数组有序。算法描述初始状态:无序区为原始数组arr[1,...,n]arr[1,...,n ]arr[1,...,n],有...原创 2019-06-13 17:24:42 · 309 阅读 · 0 评论 -
十大经典排序算法之"插入排序"
在我看来,插入排序的工作原理和选择排序也有异曲同工之处很相似,选择排序是在"右边的无序区"中挑出最小(大)的数插入到"左边的有序区的末尾",插入排序则是在"左边的有序区"中找到"右边的无序区的第一个元素"应该放置的位置并插入。算法描述简单来说,插入排序的工作原理就是用过构造有序序列,对于未排序数据,在有序序列中从后向前扫描,找到相应的位置并插入。从第一个元素开始,认为该元素已经被排序;取...原创 2019-06-13 21:28:26 · 187 阅读 · 0 评论 -
十大经典排序算法之"快速排序"
快速排序让我想了挺久的了,也踩了一些坑,特在此记录把。算法描述在待排序的数组中选择一个元素作为基准(通常选择第一个元素),即基准元素;将待排序的元素进行分区,比基准元素大的元素放在基准元素的右边,比基准元素小的元素放在基准元素的左边;对左右两个分区再重新选择基准元素并进行分区,直到整个数组有序。时间复杂度 (平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性...原创 2019-06-14 15:14:45 · 238 阅读 · 0 评论 -
牛客网华为练习题——删除字符串中出现次数最少的字符
牛客网华为练习题——删除字符串中出现次数最少的字符题目描述实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。解题思路这题很简单,于是我就写出了如下代码:# 19/6/2def func(s): if len(s.encode('utf-8')) > 20: # 判断字节 ...原创 2019-06-03 15:57:21 · 489 阅读 · 0 评论 -
所有车的过桥最短时间
今晚帮朋友助攻遇到了一道题,当时有思路但是没有写出来,后来结合牛客网上的解答写了出来,也不知道具体能AC多少道题,先放在这里等大家指点吧~题目描述有N辆车药陆续通过一座最大承重为W的桥,其中第i辆车的重量为w[i],通过桥的时间为t[i],要求第i辆车上桥的时间不早于第i-1辆车上桥的时间,任意时刻桥上所有车辆的总重量不超过W。那么,所有车辆都通过这座桥所需的最短时间为多少?输入:...原创 2019-09-29 22:40:48 · 439 阅读 · 0 评论