面试系列:大厂笔试题

序言

今天和大家分享几道我亲身经历的大厂笔试题,求个赞O(∩_∩)O,话不多说直接开始吧(今天湖人夺冠了太开心了, Kobe,this is for you!)

阿里巴巴

第一题:

  • 采用多线程的方式,分别按顺序打印A,B,C,共打印10次

第二题:

  • 经典爬楼梯问题,小明上楼梯可以一次上1个台阶或2个台阶,问小明上到N个台阶,共有多少种爬法

字节跳动

第一题:

  • 题目描述:数组A,2*n个元素,n个奇数、n个偶数,设计⼀个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数要求时间复杂度为O(n)

美团

第一题:六位数

  • 小团想要编写一个程序,希望可以统计在M和N之间(M
  • (1) ABCDEF这六个数字均不相同,即A、B、C、D、E和F表示六个不同的数字。
  • (2) AB+CD=EF。即将这个六位数拆成三个两位数,使得第1个和第2个两位数的和等于第3个两位数。
  • (注意:AB、CD和EF都必须是正常的两位数,因此A不能等于0。)
  • 输出在M到N之间(包含M和N)满足要求的六位数的个数。

第二题:小美找朋友

  • 题目描述:小美将自己朋友的名字写在了一块,惊讶地发现她写出的那个字符串S有一个惊人的性质:一个人是小美的朋友当且仅当她/他的名字是那个字符串的子序列。现在小团想根据那个字符串判断一个人是不是小美的朋友。子序列:一个字符串A是另外一个字符串B的子序列,当且仅当可以通过在B中删除若干个字符(也可能一个都不删),其他字符保留原来顺序,使得形成的新字符串B’与A串相等。例如,ABC是AABDDC的子序列,而ACB不是AABDDC的子序列。
  • 输入:

6 3

aabddc

abc

  • 输出:

Yes

10

第三题:小美的新游戏

  • 游戏规则是这样的,现在有一个方格地图,你控制一个机器人位于初始位置(x, y),然后你可以向上下左右的地块移动。其中一些地块上会有得分点,经过这些点可以获得分数。当然,路上还会有一些陷阱点,如果想要通过陷阱点,就,需要付出一定的分数来清除这个陷阱点。注意陷阱点付出分数清除后就会变成普通的地块。即反复经过陷阱点只需付出一次代价。同样的,得分点也只能获得一次分数
  • 题目描述:
  • 第一行四个数字N,M,P,Q,表示这张地图是N行M列的,得分点的得分是P,陷阱点清除的代价是Q。
  • 接下来N行,每行M个字符,表示这张地图。其中,字符S表示初始机器人位置。字符#表示墙壁,字符O代表得分点。字符X代表陷阱点。字符+代表普通的地块。
  • 接下来一行一个连续的字符串表示机器人的移动路线,只由大写字母WASD构成,W向上,A向左,S向下,D向右。
  • 机器人可以上下左右移动。不能超出地图边界。也不能走到墙壁之上。试图走出边界和走到墙壁的行动会停留在原来的位置不动。
  • 结果:输出总得分

第四题:小美的美丽树

  • 第一行两个正整数N和K,表示全树有N个节点,要求子树大小不超过K。
  • 第二行是N个正整数空格分隔,表示每个点的点权。以点编号从1到N的顺序给出点权。
  • 接下来N-1行每行两个正整数表示哪两个点之间有边相连。
  • 最后一行一个正整数root表示小团所选的根节点编号为root。
  • N≤1e5,各点上的权值有 1≤点权≤1e9,对于K有1≤K≤N
  • 输入
  • 5 2
  • 1 3 2 4 5
  • 1 2
  • 2 3
  • 3 4
  • 4 5
  • 3
  • 输出:2

哈罗单车

第一题:公平的糖果交换

  • 题目描述:爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)
  • 返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。
  • 如果有多个答案,你可以返回其中任何一个。保证答案存在。

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

第二题:形成三的最大倍数

  • 题目描述:给你一个整数数组 digits,你可以通过按任意顺序连接其中某些数字来形成 3 的倍数,请你返回所能得到的最大的 3 的倍数。
  • 由于答案可能不在整数数据类型范围内,请以字符串形式返回答案。
  • 如果无法得到答案,请返回一个空字符串。

第三题: 无重复字符的最长子串

  • 题目描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

结束语

  • 算法现在也是进入大厂的敲门砖了,笔试离不开算法,面试的时候一些公司也会让你手撕算法,所以算法十分重要,每天抽个时间力扣刷题吧!

你可能感兴趣的:(面试系列,java,算法)