网易互娱笔试代码分享 全AC

三道都AC了

1 二进制的种类数
package neteasegame2020fall;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class No1SortsOfBinary {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();//测试组数
        while (T-->0){
            int n=sc.nextInt();
            int[] arr = new int[n];
            for (int i = 0; i <arr.length ; i++) {
                arr[i]=sc.nextInt();
            }
            Map<Integer,Integer> map = new HashMap();
             for (int i = 0; i <arr.length ; i++) {
                int temp = numberOfOne(arr[i]);
                 map.put(temp,1);//标记该类出现过
            }
            int count=0;
            for (Map.Entry<Integer,Integer> it:map.entrySet()){
                 if (it.getValue()==1)
                     count++;
            }
            System.out.println(count);
        }

    }
//采用与运算可以提高计算效率
    private static int numberOfOne(int i) {
        int cnt = 0;
        while (i!=0){
            i=i&(i-1);
            cnt++;
        }
        return cnt;
    }
}

2 给排水

package neteasegame2020fall;

import java.util.Scanner;
public class No2Pool {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();//测试组数
        while (T-->0){
            int m=sc.nextInt();
            int t=sc.nextInt();
            int m1=sc.nextInt();
            int t1=sc.nextInt();
            int m2=sc.nextInt();
            int t2=sc.nextInt();
            int timer=t;//记录总时间
            int timer1=2*t1;//给水计数器
            int timer2=2*t2;//排水计数器
            int left=0;//每一分钟剩余的水
            //采用每分钟都判断一次的方法
            while (timer-->0){
                timer1--;
                timer2--;
                int geishui=0;
                int paishui=0;
                if (timer1>=t1)
                    geishui=m1;
                if (timer2>=t2)
                    paishui=m2;
                left=left+geishui-paishui;//每分钟后的水量
                if (left>m) //不能超过水池最大
                    left=m;
                if (left<0) //不能小于0
                    left=0;
                if (timer1==0)
                    timer1=2*t1;
                if (timer2==0)
                    timer2=2*t2;
            }
            System.out.println(left);

        }
    }
}
3 最长幸运N
package neteasegame2020fall;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class No3ChangeTimesForNotN {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();//测试组数
        while (T-->0){
            String s=sc.next();
            List<Integer> list = new ArrayList<>();
            for (int i = 0; i <s.length() ; i++) {
                if (s.charAt(i)!='N')
                    list.add(i);
            }
            //如果不是N次数小于2,直接输出长度
            if (list.size()<=2)
                System.out.println(s.length());
            else {
                //如果不是N次数大于2,改变字母越多越好,所以都改两个
                int maxLen=0;
                int temLen=0;
                for (int i = 0; i <s.length() ; i++) {
                    if (s.charAt(i)=='N')
                        temLen++;
                    else temLen=0;
                    if (temLen>maxLen)
                        maxLen=temLen;
                }
//                System.out.println(maxLen);
                int size=list.size();
                int firstMax=list.get(2);
                int lastMax=s.length()-1-list.get(size-3);
                maxLen=Math.max(Math.max(firstMax,lastMax),maxLen);
//                System.out.println(firstMax);
//                System.out.println(lastMax);
                for (int i = 1; i <size-2 ; i++) {
                    int tempMax=list.get(i+2)-list.get(i-1)-1;
                    if (tempMax>maxLen)
                        maxLen=tempMax;
                }
                System.out.println(maxLen);
                //NGNNNGTNNNNGTTN
            }
        }
    }
}



#网易互娱##笔试题目#
全部评论
不还有个第四道吗?
点赞
送花
回复
分享
发布于 2019-08-11 17:17
厉害
点赞
送花
回复
分享
发布于 2019-08-11 17:49
网易互娱
校招火热招聘中
官网直投
吗的,我投的也是初级研发,给我弄到研发去了,结果四道
点赞
送花
回复
分享
发布于 2019-08-11 18:33

相关推荐

1 16 评论
分享
牛客网
牛客企业服务