zoukankan      html  css  js  c++  java
  • VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)

    1. 求数组中的和为0 的一对数的数量

    注意,需要用到set

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            String[] s = sc.nextLine().split(",");
            int len = s.length;
            HashSet<Integer> set = new HashSet<>();
            for (int i = 0; i < len; i++) {
                set.add(Integer.valueOf(s[i].trim()));
            }
            int[] newarray = new int[set.size()];
            int index=0;
            for (Integer i:set) {
                newarray[index++]= i;
            }
            int sum = 0;
            for (int i = 0; i < newarray.length; i++) {
                for (int j = i+1; j < newarray.length; j++) {
                    if(newarray[i]+newarray[j]==0){
                        sum++;
                    }
                }
            }
            System.out.println(sum);
        }
    }

    2. 十进制转二进制中1的个数

    方法1,借用java已经实现的方法

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int m = sc.nextInt();
            int num = 0;
            String str = Integer.toBinaryString(m);
            for (int i = 0; i < str.length(); i++) {
                if(str.charAt(i)=='1'){
                    num++;
                }
            }
            System.out.println(num);
        }
    }

    方法2,自己实现,注意,2的N次方的数需要加1

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int m = sc.nextInt();
            int num = 0;
            while(m!=0){
                if(m==2){
                    num++;
                    break;
                }
                if(m%2!=0){
                    num++;
                }
                m/=2;
            }
            System.out.println(num);
        }
    }
  • 相关阅读:
    Centos7防火墙
    MySql按日期进行统计
    MySQL配置文件详解
    MySQL查看和修改表的存储引擎
    计算文件词频
    MapReduce寻找共同好友
    Centos 7 安装 memcached
    Linux常用命令(二)--文件目录命令
    Linux常用命令(一)--系统命令
    python学习笔记:(八)条件语句
  • 原文地址:https://www.cnblogs.com/haimishasha/p/11454311.html
Copyright © 2011-2022 走看看