首页 > 阿里巴巴 7.22 笔试
头像
suxb201
编辑于 2020-07-22 11:08
+ 关注

阿里巴巴 7.22 笔试

T1

给定一个n,求 [1,n] 这 n 个数字的排列组合有多少个。
条件:相邻的两个数字的绝对值不能等于1

直接 dfs 暴搜即可

T2

长度为 n 的数组,数组中每个元素 a 满足:1<=a<=n
求连续区间的数量,要求区间中相同元素的数量 >=m

输入

n m
数组中的 n 个数字

输出

区间数量

样例

输入:
5 2
1 2 1 2 3
输出:
5
解释:
有区间 [1,3],[2,4],[1,5],[2,5],[1,4] 满足要求

1<=m<=n<=40w

历程

第一题写了不到十分钟,然后去写第二题。当时看完第二题就懵了,自己不擅长排列组合,感觉运气好差,这场无了。
仔细好久后,感觉先求区间,然后容斥?巴拉巴拉排列组合那一套?不会做...... 然后去写暴力,希望拿一些部分分数。
暴力复杂度是 n*n 的,尽可能优化常数还写了快速读入,希望多卡一些分数,然并卵,得分 0 分(暴力分都不给,太狠了)

此时距离比赛结束只有 20 分钟,脑子忽然开窍,可以卡住左端点,然后求。没有严格验证思路正确性,抓紧开写,最终在 9:56 ac 了这道题目,太惊心动魄了,感觉比上次 5.11 场的笔试题难多了。
不给部分分的话,笔试蛮需要运气的,卡一道题就是 100 分.....

思路:

先找到最左边,满足条件的最小区间,然后计算此区间收益。
再向右找到第二个区间,计算此区间的收益(不要把之前的收益算进去)。

ps:代码不会输出0.... 应该是评测数据中没有输出 0 的情况,加个判断就好了

疑惑?

阿里的面试岗位和登记的岗位不一样,这种事经常发生吗?
我同学阿里算法图形岗,但是内推投递的是阿里前端岗,进去后做图形岗事情
我之前阿里实习是开发岗,但是内推投递的是机器学习算法岗,

阿里一般都这样搞吗?为什么?


全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐