网易第一题AC

/**
分别统计能除4的数c1,被2除的数c2,其他的数c3。
若c2的个数为奇数,则说明需要一个能被4整除的数相乘,c3-c1<=0;
若c2的个数为偶数,说明不需要能被4整除的数帮忙,c3-c1<=1,说明其他数只能比c1多一个

**/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
  static String []ans={"Yes","No"};
	public static void main(String[] args) throws IOException {
	    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String s=null;
       while((s=br.readLine())!=null){
    	   int t=Integer.valueOf(s.trim());
    	   for(int k=0;k<t;k++){
    		   long n=Long.valueOf(br.readLine().trim());
    		   long c1=0;
    		   long c2=0;
    		   long c3=0;
    		   String []sr=br.readLine().trim().split(" ");
    		   for(int i=0;i<n;i++)
    		   {
    			   long num=Long.valueOf(sr[i]);
        		   if(num%4==0)c1++;
        		   else if(num%2==0)c2++;
        		   else c3++;
        	   }
        	   if(c2%2==0){
        		   if(c3-c1<=1){
        			   System.out.println(ans[0]);
        		   }
        		   else System.out.println(ans[1]);
        	   }else{
        		  if(c3-c1<=0){
        			  System.out.println(ans[0]);
        		  }
        		  else
        			  System.out.println(ans[1]);
        	   } 
    	   }
       }
	}
}


全部评论
不需要吧   只要判断 num(4的倍数) >= num(奇数)即可    偶数全扔前面  然后一个4X 一个奇数就可以了 如 2 2 2 4 7
点赞 回复 分享
发布于 2017-09-09 17:21

相关推荐

昨天 16:13
嘉应学院 Python
xiaolihuam...:很明显骗子,如果是hr直接约你面试了,哪用得着内推,如果是员工的话,你得多优秀,一线员工直接加你微信,
点赞 评论 收藏
分享
06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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