混合颜料-求向量组的秩

混合颜料

http://www.nowcoder.com/questionTerminal/5b1116081ee549f882970eca84b4785a

1 xor是位运算符亦或^;
2 x^y (x&y)<<1 可以模拟加法,而且在不考虑进位的情况下,x^y就可以模拟加法。
3 这题的数学本质是求向量组的秩,模拟高斯消元法即可

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int n=sc.nextInt();
            int[] colors=new int[n];
            for(int i=0;i<n;i++){
                colors[i]=sc.nextInt();
            }
            Arrays.sort(colors);
            for(int i=n-1;i>=0;i--){
                for(int j=i-1;j>=0;j--){
                    if((colors[i]^colors[j])<colors[j]){
                        colors[j]^=colors[i];
                    }
                }
                Arrays.sort(colors);

            }
            int cnt=0;
            for(int a:colors){
                if(a!=0) cnt++;
            }
            System.out.println(cnt);

        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:29
点赞 评论 收藏
分享
人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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