报个OA回馈一下大家。
前面10道选择题,有单选有多选,可能题会有变动
分easy median hard
我的hard是问对于某个算法,parallel 比 serial速度要慢可能的原因有哪些
后面三道编程题,和之前看到的面经一模一样
不难,都是考察实现。注意第三题要求三个城市是不同的,且输出的是全局最大
但是第一题16进制转10进制我test case总是过不去,到现在也没有想通
看别人说是不能直接用int()转。
我估计是凉了
祝大家好运嗷
报个OA回馈一下大家。
前面10道选择题,有单选有多选,可能题会有变动
分easy median hard
我的hard是问对于某个算法,parallel 比 serial速度要慢可能的原因有哪些
后面三道编程题,和之前看到的面经一模一样
不难,都是考察实现。注意第三题要求三个城市是不同的,且输出的是全局最大
但是第一题16进制转10进制我test case总是过不去,到现在也没有想通
看别人说是不能直接用int()转。
我估计是凉了
祝大家好运嗷
感谢楼主,为何说是凉了?
因为整个OA偏简单,我还有道题test case没全过。。大概率是凉了
同学请问3道编程题的面经在哪里呀,方便加个微信吗?
可以用int()的 你要额外检查 input是不是len == 8,我前天做的,这样就过了
笑死,我太蠢了
不蠢 不蠢 我在那试, 说啥input<=7也不行 啥啥啥 最后试出来的 反正估计白嫖。。
你网上搜 就有的 在某地上
我的第一题AC了
def process(line: str) -> str:
# Return 'VALID' or 'INVALID'
d = {"A":10, "B":11, "C":12, "D":13, "E":14, "F": 15, "a":10, "b":11, "c":12, "d":13, "e":14, "f": 15}
if len(line) != 8:
return "INVALID"
def getval(c):
if c in d: return d[c]
return int(c)
for c in line:
try:
getval(c)
except:
return "INVALID"
head = 16 * getval(line[0]) + getval(line[1])
tail = 0
for i,c in enumerate(line[2:]):
tail += getval(c) * (16 ** (5-i))
# print(tail)
return "VALID" if head == sum(int(i) for i in str(tail)) else "INVALID"
第三题卡了我好久。。。一直没看到必须是三个城市, 一直理解成>=3个了。。。哭