今年秋招的offer,终于开奖了!
而最引人注意的非腾讯莫属

白菜总包接近40w!

老员工看了都直呼坐不住
据不完全统计,腾讯校招年薪40w包括:20k左右的月薪,跟价值6-10万的股票,以及一次性发放的3万签字费。相比去年校招涨了2k左右!
看着是不是很心动?还没收到offer的同学也别急,或许春招还有机会再战!
一道腾讯算法真题,带你了解一下面试难度👇
LintCode 267

最短休息日

题目描述

由于业绩优秀,公司给小Q放了 n 天的假,身为工作狂的小Q打算在假期中工作、锻炼或者休息。他有个奇怪的习惯:不会连续两天工作或锻炼。只有当公司营业时,小Q才能去工作,只有当健身房营业时,小Q才能去健身,小Q一天只能干一件事。给出假期中公司,健身房的营业情况,求小Q最少需要休息几天,1为营业 0为不营业。
扫码免费做题

↓↓↓
样例1
输入: company=[1,1,0,0],gym=[0,1,1,0]输出: 2样例解释: 小Q可以在第一天工作,第二天或第三天健身,小Q最少休息2天。

源代码

class Solution:"""@param company: Company business@param gym: Gym business@return: Find the shortest rest day"""def minimumRestDays(self, company, gym):# dp[i][j]: ith day, activity j. 0 = rest, 1 = work, 2 = gymdp = [[float('inf')] * 3 for _ in range(len(company))]dp[0][0] = 1if company[0]:dp[0][1] = 0if gym[0]:dp[0][2] = 0for i in range(1, len(company)):dp[i][0] = min(dp[i - 1][0], dp[i - 1][1], dp[i - 1][2]) + 1if company[i]:dp[i][1] = min(dp[i - 1][0], dp[i - 1][2])if gym[i]:dp[i][2] = min(dp[i - 1][0], dp[i - 1][1])return min(dp[len(company) - 1][0], dp[len(company) - 1][1], dp[len(company) - 1][2])
继续阅读
阅读原文