没发现网易第一题有问题么

4的倍数那题
没有开辟数组保存输入,就几个int,80%并且提示内存超出,优化下把声明放循环外,再也想不到其它优化方法了,一直是内存超出
大概还有50分钟左右结束的时候试着再提交一次,AC了。。。
浪费不少时间
不爽。。。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        int n, input, k;
        boolean flag;
        while (t-- > 0) {
            n = in.nextInt();
            k = 0;
            flag = false;
            while (n-- > 0) {
                input = in.nextInt();
                if ((input & 1) == 1) {
                    --k;
                } else if ((input % 4) == 0) {
                    ++k;
                } else {
                    flag = true;
                }
            }
            if (!flag) {
                ++k;
            }
            System.out.println(k >= 0 ? "Yes" : "No");
        }
    }

}
#网易#
全部评论
和你一样但是我没提交第二次..
点赞 回复 分享
发布于 2017-09-09 17:25
这个我在第二题
点赞 回复 分享
发布于 2017-09-09 17:21
不要分配数组,分配数组会提示内存超出,只需要统计能模4的个数和奇数的个数就行,然后比较,如果奇数个数小于能模4个数就返回Yes,不然返回No
点赞 回复 分享
发布于 2017-09-09 17:18
每个序列处理完后,调用一次System.gc()就AC了~~
点赞 回复 分享
发布于 2017-09-09 17:16
我把代码写成了一行,就过了,不然只有80
点赞 回复 分享
发布于 2017-09-09 17:14
AC多少呀?
点赞 回复 分享
发布于 2017-09-09 17:05
我也是,后来才过的
点赞 回复 分享
发布于 2017-09-09 17:02

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务