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);
}
}

VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)的更多相关文章

  1. 剑指offer编程题Java实现——面试题10二进制中1的个数

    题目: 请实现一个函数,输入一个整数,输出该整数二进制表示中1的个数.例如,把9表示成二进制是1001,有2位是1,该函数输出2解法:把整数减一和原来的数做与运算,会把该整数二进制表示中的最低位的1变 ...

  2. 剑指Offer面试题:9.二进制中1的个数

    一.题目:二进制中1的个数 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 二.可能引起死循环的解法 一个 ...

  3. 基于visual Studio2013解决面试题之0410计算二进制中1的个数

     题目

  4. 剑指Offer面试题:8.二进制中1的个数

    一 题目:二进制中1的个数 题目:请实现一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 二 可能引起死循环的解法 // 计算整数的二 ...

  5. P78、面试题10:二进制中1的个数

    题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制1001,有2位是1.因此如果输入9,该函数输出2. 相关题目: 1)用一条语句判断一个整数是不是2的整数次方.一 ...

  6. 剑指offer-面试题10:二进制中1的个数

    题目:请实现一个函数,输入一个函数,输出该数二进制表示中1的个数.例如把9 表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 这道题最典型的方法就是用移位统计,就比如统计9的二进制1 ...

  7. (剑指Offer)面试题10:二进制中1的个数

    题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: 很明显,这道题考察的是位运算. 1.依次将整数右移,判断整数最后一位是否为1(&1): 问题:如果该整数为负数 ...

  8. 《剑指offer》面试题10 二进制中1的个数 Java版

    书中方法一:对于每一位,用1求与,如果为1表明该位为1.一共要进行32次,int4字节32位. public int check(int a){ int result = 0; int judge = ...

  9. 《剑指offer》面试题15. 二进制中1的个数

    问题描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输入:00000 ...

随机推荐

  1. python threading Semaphore

    #Semaphore 是用于控制进入数量的锁,控制同时进行的线程,内部是基于Condition来进行实现的 #文件, 读.写, 写一般只是用于一个线程写,读可以允许有多个 #做爬虫 import th ...

  2. 【转】Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探

    前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心 ...

  3. Git多账号配置

    在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...

  4. 解决FastCGI 进程超过了配置的活动超时时限的问题

    近日,需要满足测试需求,进行大数据并发测试时,报出[HTTP 错误 500.0 - Internal Server Error E:\PHP\php-cgi.exe - FastCGI 进程超过了配置 ...

  5. JZOJ 2158. 蚂蚁

    这个是今天早上比赛的内容,比较水给大伙们讲一下(我只会这一个) 题目大意: n只蚂蚁以每秒1cm的速度在长为L  cm(厘米,不是lcm)的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两 ...

  6. 【转载】Visual Studio2017如何设置打包发布的WinForm应用程序的版本号

    在Visual Studio 2017集成开发工具中,打包发布Winform窗体应用程序的时候,支持设置此次打包发布的Winform窗体应用程序对应的版本号信息,并且支持一次设置后,后续的所有发布版本 ...

  7. Delphi2007 在Win10 下运行报错 Assertion failure

    Delphi2007 原来安装在Win7 下 运行正常, 自从升级到Win10 ,新建工程运行然后关闭报错, 报错信息如下: ---------------------------bds.exe - ...

  8. Linux signal与定时器

    1. signal sighandler_t signal(int signum, sighandler_t handler); signum:是一个信号.除了SIGKILL和SIGSTOP外的任何一 ...

  9. kafka-python开发kafka生产者和消费者

    1.安装kafka-python 执行命令 pip install kafka-python kafka-python        1.4.6 2.编写python kafka 生产者消费者代码 # ...

  10. iTerm2 + Oh My Zsh 打造舒适终端体验[mac os系统]

    当使用Mac OS系统登陆服务器时,发现tab键不能提示系统默认的命令,于是参照各种网络文章,网友提供一种软件oh my zsh [网址:https://ohmyz.sh/] 其实最重要一个命令足矣 ...