RobinHood 最新OA

昨天刚做,和之前的面经都不一样。用的 code signal第三方平台

70 min , 4道题,全程监控屏幕并开摄像头录像,所以没法截图

题目详情
  1. find distinct triplet: given a string, find all triplets that contain distinctive Characters, return the number of total triplets
  2. add 2 numbers, digit by digit, starting from right end. For instance, String a = “11”, String b = “9”, return “110”
  3. rotate matrix, while fixing the diagonal and anti-diagonal element. another input argument is a number, 1 stand for rotating 90 degrees clockwise, 2 for 180, 3 for 270.
    example: input m = [ 1 2 3; 4 5 6; 7 8 9], n = 1, result = [1 4 3; 8 5 2; 7 6 9]
  4. cut the ribbon, given an array of ribbon length (let’s say m), and an integer n, return the maximal length l that we can cut the ribbon and make at least n ribbons of the same length l

时间有点紧,尤其第三题分类讨论加debug比较繁琐,祝大家好运

2 Likes

请问第三题保证是正方形的matrix吗?如果是4*4的
[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9,10,11,12],
[13,14,15,16]
rotate 90 degree以后,5是和2换还是和3换··

是正方形,5和3换

好的,谢谢。祝你后续好运

请问楼主,ribbon那道题的意思就是相当于求这个Array中第n大的数作为length l吧?求回复,谢谢!

举个例子,m = [1,2, 3, 5], n = 4, 返回2,也就是可以剪成4条等长的方案中,每条最长是2

谢谢楼主!!楼主好人!

楼主您好 第一题还麻烦您确认一下题意

  1. triplet含有3个character相同但不同顺序算吗 比如abc,bac算同一种情况吗
  2. triplet一定是这个string的substring吗?还是说只要是这个string含有的character组成就可以,例如string为abcd,triplet可以是abd吗?
    求回复 0 0

abc, bac 算不同情况;triplet必须是substring

1 Like

感谢楼主 请教下matrix的那道题会考虑优化嘛,比如rotate 270度等加于反向rotate 90?

请问楼主

def find_distinct_triplet(s):

	distinct_triplets = set()

	for i in range(0, len(s)-2):
		if s[i:i+3] not in distinct_triplets:
			distinct_triplets.add(s[i:i+3])
	
	return len(distinct_triplets)	


print(find_distinct_triplet("abcabcabcccc"))

这道题的理解有误嘛? 感谢啦

会的

triplet只需要包含不同Character就行,triplet本身不需要distinctive

1 Like

求助robbin那道题如何narrow down 搜索空间

请问意思是不是如果string里面出现了两遍ABC,算两次? 题目规定triplet十三个不同的char?不能是aaa?

robinhood爽

请问第二题,能具体解释下是如何digit by digit相加的吗

对的

看例子: 两个数最右边一位相加 1 + 9 = 10, 第二位只有一个1, 两者合并110

抱歉不知道…这题都没时间做