京东笔试4.18

不知道第一题的代码错哪里了……一直27%,找半个小时也没找出来哪错了(菜的一批……
有咩有大佬贴个代码让俺膜拜一下,感谢!

下面是只过了0.27的第一题代码
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    vector<int> a;
    vector<int> q;
    int temp;
    for(int i=0;i<n;i++){
        cin>>temp;
        a.push_back(temp);
	}
    int round;
    cin>>round;
    for(int i=0;i<round;i++){
    	cin>>temp;
    	q.push_back(temp);
	}
    sort(a.begin(),a.end());
    int mday;
    long sum;
    for(int i=0;i<round;i++){
        mday=(q[i]+m-1)/m;
        int num=q[i];
        sum=0;
        for(int j=1;j<=mday;j++){
        	for(int k=0;k<m;k++){
        		sum=sum+j*a[num-1];
        		if((num-1)==0)
        			break;
        		else num--;
            }
        }
        cout<<sum<<endl;
    }
    return 0;
}




#京东实习生笔试##京东##笔试题目#
全部评论
同27%
点赞 回复 分享
发布于 2020-04-18 21:10
how old are you
点赞 回复 分享
发布于 2020-04-18 21:11
第二题怎么做  我直接编译不过  本地运行没问题
点赞 回复 分享
发布于 2020-04-18 21:11
我也是27,崩了呀,一直提示我超时😂,没法跟东哥做兄弟了
点赞 回复 分享
发布于 2020-04-18 21:16
我跟你一样,复杂度是O(n^2),n范围是50000,所以超时了。想了一个小时都没想出来怎么优化,太菜了。
点赞 回复 分享
发布于 2020-04-18 21:20
数据分析师为啥抽的题和开发、算法一模一样啊!做的时候真是要裂开了
点赞 回复 分享
发布于 2020-04-18 21:20
害,东哥不要我,看来还是只能在羊毛的时候和东哥做兄弟了
点赞 回复 分享
发布于 2020-04-18 21:21
会不会和这个数值没限制有关系
点赞 回复 分享
发布于 2020-04-18 21:23
先把你的头像交出来😂😂
点赞 回复 分享
发布于 2020-04-18 21:43
同27
点赞 回复 分享
发布于 2020-04-18 21:56
可以做到O(q*n)
点赞 回复 分享
发布于 2020-04-18 21:59
这题要用递推做😂 上机的时候一直卡着写不出递推公式 下了机几分钟就做出来了
点赞 回复 分享
发布于 2020-04-19 00:24
你好,请问大家有去官网看自己投递的状态吗?我的还是未笔试状态,但我昨天明明已经笔试了啊
点赞 回复 分享
发布于 2020-04-19 09:13
是的,只剩下华为了。要不今年就没得实习了。
点赞 回复 分享
发布于 2020-04-19 11:29
91%默默路过
点赞 回复 分享
发布于 2020-04-19 11:39
京东收到面试没
点赞 回复 分享
发布于 2020-04-22 19:02
我也是27,后来结束后想到询问时必须要O1的复杂度得到结果,于是想到在询问前可以先把不同天数的结果用数组存下来,这样应该就可以了
点赞 回复 分享
发布于 2020-05-19 14:45

相关推荐

点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务