华为OD机试

    4.11  (100% 100% 54.55%)
  1. 最长子序列:给定一个数组array和一个数target,如果array存在连续的几个数相加等于target,返回这几个数的最大个数,否则返回-1
  2. 停车位:给定一个类似"10000100101"的字符串,1代表有车停着,0代表空车位,求在停车位停车与最近的车之间的最大距离
  3. 叠书:给定一个二维数组类似于"[[20,16],[20,21],[10,20],[9,10]]",对于二维数组的每一个元素:第一个元素表示书的宽度,第二个元素表示书的高度,叠在上面的书比在下面的书宽度和高度都要小,求最多能叠的书的数量
#华为od##笔试题目#
全部评论
第三题其实就是求最长递增子序列 class Solution:     def maxEnvelopes(self, envelopes: List[List[int]]) -> int:         if not envelopes:             return 0         envelopes.sort()         dp=[1]*len(envelopes)         for i in range(len(envelopes)):             for j in range(i):                 if envelopes[i][0]>envelopes[j][0] and envelopes[i][1]>envelopes[j][1]:                     dp[i]=max(dp[i],dp[j]+1)         num=max(dp)         return num
3 回复 分享
发布于 2022-05-01 00:05
第三题,不知道可不可以这样:先按x排序得序列A,再按y排序得序列B,最后求A和B的最长公共子序列
2 回复 分享
发布于 2022-04-12 13:07
能达到100%吗
1 回复 分享
发布于 2022-04-12 02:28
昨晚笔试 1. 和你第二题一样,100% 2. 和超过给定值的连续子数组数量,数组中全是正整数,有时间限制,一开始没注意超时了 只过80%,改了之后96%,不知道什么例子没过 3. 形如     CAUP     XYZA     KONF 字母表里搜索指定单词 如XYAU,直接dfs,只过85%
1 回复 分享
发布于 2022-04-12 11:48
差一点点,可惜了 华为南京、东莞、北京研究所OD岗位招聘,小伙伴们可以看过来~抓紧私信我姓名联系方式 【招聘要求】 1、统招全日制本科及以上学历,计算机、电子、通信等相关专业 2、工作地点:南京、东莞、北京 3、掌握Java、Python、C/C++、JS等主流开发语言中的一种 【内推优势】 1)已经成功内推多人,入职率很高哦! 2)通过我内推投递岗位,简历可获得优先筛选,可以帮助查询内推进度,有需要可以给到你一些面试建议哈! 注意,是社招岗位,应届生也可以面试,但是要毕业后才能发offer,抓紧私信我姓名联系方式
1 回复 分享
发布于 2022-04-20 10:26
我也是4.11 题目不一样也
1 回复 分享
发布于 2022-04-12 02:57
第三题: 因为只要求输出最多层数,所以得出一个书的排列数组太麻烦了,这种问题通常用动态规划能简化不少。 动态规划 思路:如果有n本书,那么可以设一个数组表示在前k本书可以最多叠多少层。 假设当前为i本,那么在前i本它的最大层数是Max(dp[j]+1),这个j怎么找呢,其实就是0到i-1本书中满足宽,高分别小于第i本的宽,高的书。 所以核心部分是两层循环,一层是0-n-1,是为了得出每一个数组元素的值,另一层是0-i,是为了多次比较确定叠的最多层数。 代码就略啦
1 回复 分享
发布于 2022-05-16 19:59
第三题是核心代码模式吗,还是要处理输入输出?
点赞 回复 分享
发布于 2022-04-16 00:56
楼主,我想和你讨论一下第三题,方便加个we吗?
点赞 回复 分享
发布于 2022-04-17 10:21
第三题个人思路: 1. 对原始数据按y升序快排 2. 对原始数据按x降序再次快排 3. 创建一个等长数组,数组记录每一位后面y值依次递减的最大数目。 4.第3步数组中最大值就是答案。 至于第三步实现: 数组初始化0,从后向前走。对于每一位,只需要找到它后面比自己小的数据里面最大值+1就是本位数值。 例如: y值情况:5 9 3 5 3 4 7 2 1 数z情况:4 5 3 4 3 3 3 2 1 解释: 倒一位1,它后面没有,所以1 倒二位2,它后比它小且对应数组值最大的为1~1,所以它为1+1=2 倒三位7,它后比它小且对应数组值最大的为2~2,所以它为2+1=3 倒四位4,它后比它小且对应数组值最大的为2~2,所以它为2+1=3 ............ 时间情况: 1. 快排:n*logn 2. 快排:n*logn 3. 计数:n*n/2 4. 寻值:n 最后时间复杂度应为O(n^2)。
点赞 回复 分享
发布于 2022-04-24 02:07
第三题直接dfs
点赞 回复 分享
发布于 2022-04-26 00:33
1、用哈希,键值对为当前和+下标 2、就是简单的一个类似于贪心的吧 3、就是区间排序,找没有交集的区间
点赞 回复 分享
发布于 2022-04-26 19:51
第三题,俄罗斯套娃的问题
点赞 回复 分享
发布于 2022-06-18 18:59

相关推荐

昨天 01:46
门头沟学院 Java
咩咩子_:请填空,你是我见过______
点赞 评论 收藏
分享
评论
12
117
分享

创作者周榜

更多
牛客网
牛客企业服务