题目:

链接:https://www.nowcoder.com/questionTerminal/6c184566ecff4d3baff3536449d4a3e2

来源:牛客网

小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]..., A[N]}。

牛博士给小易出了一个难题:

对数列A进行重新排列,使数列A满足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍数。

小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。

输入描述:

输入的第一行为数列的个数t(1 ≤ t ≤ 10),

接下来每两行描述一个数列A,第一行为数列长度n(1 ≤ n ≤ 10^5)

第二行为n个正整数A[i](1 ≤ A[i] ≤ 10^9)

输出描述:

对于每个数列输出一行表示是否可以满足牛博士要求,如果可以输出Yes,否则输出No。

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while(sc.hasNext()){
int n = sc.nextInt(); // 数组长度
int two = 0; // 2的倍数的个数
int four = 0; // 4的倍数的个数
for(int i=0; i<n; i++){
int a = sc.nextInt();
if(a%4 == 0)
four++;
else if(a%2 == 0)
two++;
}
if(four >= n-four-two) // 符合要求的排列:所有2的倍数相邻排在一起;所有4的倍数与其他数相间排列,且其他数的个数不能超过4的倍数的个数
System.out.println("Yes");
else
System.out.println("No"); }
sc.close();
}
}

重排数列-Java实现(2018网易校招研发岗)的更多相关文章

  1. 剑指Offer——网易校招内推笔试题+模拟题知识点总结

    剑指Offer--网易校招内推笔试题+模拟题知识点总结 前言 2016.8.2 19:00网易校招内推笔试开始进行.前天晚上利用大约1小时时间完成了测评(这个必须做,关切到你能否参与面试).上午利用2 ...

  2. 网易2016研发project师笔试题

    网易2016研发project师笔试题 2015/12/9 11:25(网上收集整理的,參考答案在后面,若有错误请大神指出) 1. 运行指令find / -name "test.c" ...

  3. 2015网易校招Java开发工程师(技术架构)在线笔试题

    1.  程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process ...

  4. 2015年网易校招Java开发工程师(技术架构)在线笔试题

    1.  程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process ...

  5. 2018京东校招Java笔试题

    相比阿里巴巴,京东的题都是考研基础题,加上一点java基础知识和linux命令. 1. 单选题(19道题,每题2分): 1)4个并发进程都需要5个同类资源,则至少需要多少个资源,才不会导致死锁? 2) ...

  6. [刘阳Java]_美团点评2018届校招面试总结_Java后台开发【转载】

    美团喜欢一口气把三轮技术面和HR面一起面完,虽然身心比较累(每一面差不多一个小时),不过也算是一个好事,不像某些公司一天就一面然后让回去等消息,等面试通知也等得让人很焦虑,而且还容易出现面试时间冲突. ...

  7. 网易校招C++研发工程师笔试题

    选择题: mysql主从复制,server_id问题 mysql key_len 找以.conf为结尾的文件 问答题: 实现一个超大整数的类 并实现加减法功能 用string实现大数加减法(博客里以前 ...

  8. 美团点评2017校招研发offer面经

    2017届的校招早早就结束了,抽出时间做个记录. 职位:后台开发工程师 岗位职责: 如果你热爱编程,这里给你平台用代码改变世界: 如果你乐于挑战,这里有用户和商家五花八门的需求和苛刻的系统运行环境在等 ...

  9. 2019年京东Java研发岗社招面经(面试经历+真题总结+经验分享)!

    本篇先以日历形式回顾秋招之路,方便各位参考某厂的处理进度:然后是总结归纳春秋招Java面试题库:最后做个总结还有展望,开始新的征程~ 面试经历京东面试真题面试经验分享1.面试经历 2018年的冬季特别 ...

随机推荐

  1. [LC]66题 Plus One (加1)

    ①英文题目 Given a non-empty array of digits representing a non-negative integer, plus one to the integer ...

  2. chrome中安装Vue调试工具vue-devtools

    一.前言 vue-devtools是一款基于浏览器的插件,用来调试vue应用.本篇文章将要总结的是如何在chrome中安装Vue的调试工具vue-devtools. 首先能想到的第一种方法就是直接在c ...

  3. nyoj 257 郁闷的C小加(一)(栈、队列)

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...

  4. 正则表达式 第五篇:C# 正则元字符

    本文整理C#正则表达式的元字符,正则表达式是由字符构成的表达式,每个字符代表一个规则,表达式中的字符分为两种类型:普通字符和元字符.普通字符是指字面含义不变的字符,按照完全匹配的方式匹配文本,而元字符 ...

  5. Cesium小插件改造--clock和timeline

    一.Clock 废话不多说,先上效果图再说.如效果图所示:clock的日期显示为YY/MM/DD这种简洁明了格式,时间则为当前系统时间(也就是北京时间).Clock内部以儒略日(JulianDate) ...

  6. python:0

    if __name__ == '__main__': r = Rectangle() 79 def __str__(self): 80 return "address:(%d, %d)&qu ...

  7. Linux网络基本配置命令

    修改方法: 命令方式,大多是立即生效.临时有效: GUI图形方式, 修改配置文件,重启服务有效 1.修改主机名 hostname查看 hostname name临时修改 hostnamectl set ...

  8. LoadRunner中的90%响应时间

    LoadRunner中的90%响应时间是什么意思?这个值在进行性能分析时有什么作用? 为什么要有90%用户响应时间? 这个跟超女.舞林大会等比赛那样在比赛后都要去掉一个最高分一个最低分在取平均值有点类 ...

  9. 使用selenium模拟登陆新浪微博

    1.selenium基本使用 1.selenium安装及基本操作 selenium是一个自动化测试工具,它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面浏览器驱动,也包括Ph ...

  10. 2场 J -Subarray

    题意: 长度为1e91e9的(1,−1)(1,−1)序列,下标从00到1e9−11e9−1,已知有nn个区间为11,其他为−1−1, 问存在多少个区间的和>1>1(保证∑1≤i≤nr[i] ...