求大家帮忙加一下米,加米不扣积分的。 我看schlumberger没什么karat的面经,专门写了下自己的经验
1 互相自我介绍
2 三道口述题目
第一题判断时间,空间复杂度,很好写
第二题判断 代码能不能解决 要求,(实在是记不得题目)
第三题 是给了一个bubble sort的代码,用recursion写的。让你判断嫩不嫩满足要求,我发现base case缺了,所以不能。
3 coding 3道题
第一题 , 的complete hand 判断条件是 exactly one pair, and/or any number of triple.
下面的图是第三题的描述,大家可以自己坐下。
第三题如图,是第一题的进阶版。我没做出来,时间不够了,只是口述了下算法(估计不对,)
第一题代码:- import collections
- def sol(tiles):
- num_map = collections.defaultdict(int)
- for s in tiles:
- num_map[s] += 1
- # print(num_map)
-
- num_pairs = 0
- for k,v in num_map.items():
-
- remainder = v % 3
- if remainder == 0:
- continue
- else:
- if remainder % 2 == 0:
- num_pairs += 1
- else:
- return False
-
-
- if num_pairs == 1:
- return True
- else:
- return False
-
-
复制代码 第二题是给你一个grid,和起点 x,y。消除和起点连着的相同数字的element(上下左右)。 让你返回number of disappear elelemnt
比如- grid = [
- [4,4,4,4]
- [5,5,5,4]
- [4,3,2,2]
- ]
复制代码 起点是 0,0, 那么你需要消除 和 (0,0)的4 连着的所有4. 总共5个。
我的代码如下:
def disappear(grid, x, y):
m = len(grid)
n = len(grid[0])
ele = grid[x][y]
queue = collectio您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 使用VIP即刻解锁阅读权限或查看其他获取积分的方式 游客,您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 VIP即刻解锁阅读权限 或 查看其他获取积分的方式 ("new x, new y", new_x, new_y)
num_disapper += 1
queue.append((new_x, new_y))
visited.add((new_x, new_y))
return num_disapper |