#做完网易2023秋招笔试题,我裂开了##网易笔试# 我不太明白第二题为啥这么写不对。思路就是分奇偶位统计出各自的最大值,然后分奇偶位看一下加到这个最大值需要多少。如果奇偶位的最大值相同,那么有一半需要再全部+1
```c++
#include
using namespace std;

int main() {
    int n;
    long long num;
    vector nums;
    long long oddMax=-1, evenMax = -1;
while (cin >> n) {
        int res = 0;
        nums = vector(n, 0);
        for (int i = 0; i < n; ++i) {
cin >> num;
            nums[i] = num;
if (i%2 == 0) evenMax = evenMax > num ? evenMax : num;
else oddMax = oddMax > num ? oddMax : num;
        }
        for (int i = 0; i < n; ++i) {
            if (i%2 == 0) {
                res += (evenMax-nums[i]);
            }
            else {
                res += (oddMax - nums[i]);
            }
        }
        if (evenMax == oddMax) res += (n/2);
        cout << res << endl;
    }
}
```
全部评论
res改成long long
点赞 回复 分享
发布于 2022-08-20 17:52 安徽
思路一样,我也是这样写的。Java,过了13.3🤣
点赞 回复 分享
发布于 2022-08-20 19:15 天津
如果奇偶最大值一样,还需要再往上加
点赞 回复 分享
发布于 2022-08-20 19:26 湖北
这题我觉得数据范围给的有问题,我开2*10 5 告诉我段错误,5 * 10 5就过了
点赞 回复 分享
发布于 2022-08-20 21:57 北京
JAVA+1,我也是这么写的
点赞 回复 分享
发布于 2022-08-20 22:29 天津
阿里内推可以找我!
点赞 回复 分享
发布于 2022-08-20 23:40 浙江

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
点赞 3 评论
分享
牛客网
牛客企业服务