OLA 面试经历 |对于有经验的 -SDE-2
这是一个周末的车程。他们让我带上自己的笔记本电脑。
第 1 轮:通过 Hacker Rank 进行的编码轮(90 分钟)
Q1)给定一个表示目标状态的二进制字符串。将相同大小的二进制字符串(全为 0)转换为目标状态所需的最少翻转次数。翻转也会导致所有正确的位被翻转。
例如
输入:00101(代表目标)
输出:3
解释 :
00000 -> 00111 -> 00100 -> 00101
Q2 )你被赋予了特殊和正常的字母状态。
例如“01111001111111111011111111”代表“abcdefghijklmnopqrstuvwxyz”。这里0代表普通字符,1代表特殊字符。
给定一个输入字符串 S 和一个数字 k,找到具有最大 k 个元素的最大连续子数组。对特殊字符没有限制。
例如
S = “长颈鹿”,K = 1,“011110011111111110111111”
输出:3
如何 ?
普通字符:a、g、f
一种可能的解决方案:gir(因为它只有一个正常字符)
Q3) 有卡,每张卡都有一个身份。例如HC1有ID 1,这个ID也代表卡的费用。你姐姐已经有一些卡片,你想给她一些她还没有的卡片。程序是退还您可以为她购买的最大数量的卡。
约束:您的金额为 d,并且想尽可能多地购买不同的卡。
例如 Sister Cards = [2, 3, 5], D : 7 您购买的卡片 : 1, 4
输出:2
通过所有测试用例,我能够解决上述所有问题。
第 2 轮:(1 小时)
这是一个面对面的圆形。
Q1) 给定一个具有 N 个单词和 k 个标准字典起始字母的外星语言的排序字典,任务是完成返回一个字符串的函数,该字符串表示该语言中字符的顺序。 (这里)
我无法以图表的方式思考,我的解决方案也不是最优的。
Q2) 给定一个大小为M*N的矩阵mat[][] 。以螺旋形式遍历并打印矩阵。 (这里)
由于第一个问题的方法,他们不确定并告诉我如果需要他们将在下周与我联系。