我简直服了今日头条

在本地测试的题目,都没问题,就是显示测试用例通过为0(只有第三题正常).以第二题为例


显然就是找出给定的数组的所有组合形式,然后计算min(sub_arr) * sum(sub_arr)。
#coding = utf-8
import sys


length = int(sys.stdin.readline().strip())
line = sys.stdin.readline().strip()
nums = map(int, line.split())

class composition(object):
    def dfs(self, nums, index, path, res):
        if len(path) != 0:
            res.append(path)
        for i in range(index, len(nums)):
            self.dfs(nums, i+1, path+[nums[i]], res)
    def subset(self, nums):
        res = []
        self.dfs(nums, 0, [], res)
        return res

lst = composition().subset(nums)
maxs = -pow(2, 31)
for i in lst:
    if min(i) * sum(i) > maxs:
        maxs = min(i) * sum(i)
print maxs
然而就是0通过,再加上后面的系统设计题完全不懂,GG了···
#字节跳动#
全部评论
求subset吧,ac了10%,也搞不懂是哪出错了
点赞 回复 分享
发布于 2017-08-22 20:47
第二题感觉还行,遍历数组,把每个点当做某个区间最小值,往它的左右两边找大于等于它的数求和。再乘以它自己就是这个区间的值
点赞 回复 分享
发布于 2017-08-22 20:56
我也是完全不知道哪里错了。。。就是0通过
点赞 回复 分享
发布于 2017-08-22 20:49
暴力解法20通过。。。
点赞 回复 分享
发布于 2017-08-22 20:51
这道题刚开始我也是一直0%,但是本地能过。后来发现输入的数串末尾有空格,处理一下空格,就20%了。但是依然超时
点赞 回复 分享
发布于 2017-08-22 20:52
安啦,头条的题目本身就难,而且拿本地ide来说就没意思了,心静如水……
点赞 回复 分享
发布于 2017-08-22 20:53
+1,我也是。。。。。。
点赞 回复 分享
发布于 2017-08-22 20:54
单调栈题,A了;就是内置编译器对数组初始化不是0。还得手动赋值,两次0%然后突然发现就A了
点赞 回复 分享
发布于 2017-08-22 20:54
设计题直接懵逼了,怎么答啊。。。。。。。
点赞 回复 分享
发布于 2017-08-22 20:59
大神们帮我看看第一题,我本地过了,赛码网上总0%,说输出超限,为什么啊 #include<iostream> #include<vector> #include<algorithm> using namespace std; int main(){ int n;     while(cin>>n){     vector<vector<int>> data(n,vector<int>(2));         for(int i=0;i<n;i++){             int x,y;             cin>>x>>y;             data[i][0]=x;             data[i][1]=y;         }         for(int i=0;i<data.size();i++){         for(int j=i+1;j<data.size();j++){             if(data[j][0]>data[i][0]&&data[j][1]>data[i][1])                     data.erase(data.begin()+i);             }         }         sort(data.begin(),data.end());         for(int i=0;i<data.size();i++){         cout<<data[i][0]<<" "<<data[i][1]<<endl;         }     } }
点赞 回复 分享
发布于 2017-08-22 21:06
dfs深度搜索+减枝,找出最小的数,然后到两边去搜索,最后得出结果
点赞 回复 分享
发布于 2017-08-22 21:06
find最小值,然后根据最小值二分。当多个最小值情况下,以这些点间隔求子区间最大值
点赞 回复 分享
发布于 2017-08-22 21:07
两个单调队列扫两遍就可以了
点赞 回复 分享
发布于 2017-08-22 21:09
10%,不知道为什么
点赞 回复 分享
发布于 2017-08-22 21:11
有没有用python通过的同学?
点赞 回复 分享
发布于 2017-08-22 21:12
同学你好!首先感谢你参加今日头条笔试,如果在笔试过程中遇到任何问题,可以通过申诉通道与我们联系。情况核对属实后,可以有二次笔试的机会,成绩以最后一次考试为准。【申诉通道】campushr@bytedance.com,请在正文简要说明笔试遇到的问题,邮件标题为: 笔试申诉+岗位+姓名+***话,我们会尽快回复~
点赞 回复 分享
发布于 2017-08-22 21:35
我代码多敲了个空格,通过率为0.。
点赞 回复 分享
发布于 2017-08-22 21:39
我也是 一直都是0%
点赞 回复 分享
发布于 2017-08-22 23:13
最开始是50,然后就一直是10了
点赞 回复 分享
发布于 2017-08-22 23:23
其实我。。。用一种鸡贼的方式暴力AC了...
点赞 回复 分享
发布于 2017-08-22 23:31

相关推荐

bLanK的小号:建议自己写一个比较新颖的项目,比如思维导图,在线文档,仿造postman,仿造一个组件库
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务