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);
}
}
VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)的更多相关文章
- 剑指offer编程题Java实现——面试题10二进制中1的个数
题目: 请实现一个函数,输入一个整数,输出该整数二进制表示中1的个数.例如,把9表示成二进制是1001,有2位是1,该函数输出2解法:把整数减一和原来的数做与运算,会把该整数二进制表示中的最低位的1变 ...
- 剑指Offer面试题:9.二进制中1的个数
一.题目:二进制中1的个数 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 二.可能引起死循环的解法 一个 ...
- 基于visual Studio2013解决面试题之0410计算二进制中1的个数
题目
- 剑指Offer面试题:8.二进制中1的个数
一 题目:二进制中1的个数 题目:请实现一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 二 可能引起死循环的解法 // 计算整数的二 ...
- P78、面试题10:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制1001,有2位是1.因此如果输入9,该函数输出2. 相关题目: 1)用一条语句判断一个整数是不是2的整数次方.一 ...
- 剑指offer-面试题10:二进制中1的个数
题目:请实现一个函数,输入一个函数,输出该数二进制表示中1的个数.例如把9 表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 这道题最典型的方法就是用移位统计,就比如统计9的二进制1 ...
- (剑指Offer)面试题10:二进制中1的个数
题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: 很明显,这道题考察的是位运算. 1.依次将整数右移,判断整数最后一位是否为1(&1): 问题:如果该整数为负数 ...
- 《剑指offer》面试题10 二进制中1的个数 Java版
书中方法一:对于每一位,用1求与,如果为1表明该位为1.一共要进行32次,int4字节32位. public int check(int a){ int result = 0; int judge = ...
- 《剑指offer》面试题15. 二进制中1的个数
问题描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输入:00000 ...
随机推荐
- com.alibaba.fastjson.JSONObject之对象与JSON转换方法
com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSON对象转换Java ...
- How-important-is-deep-learning-in-autonomous-driving
Deep learning (DL) is a very interesting technology indeed and yes it does solve perception really w ...
- 基于Spark的电影推荐系统(推荐系统~1)
第四部分-推荐系统-项目介绍 行业背景: 快速:Apache Spark以内存计算为核心 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算 完整的生态圈 只要掌握Spark ...
- WPF toolkit AutoCompleteBox
checked http://www.broculos.net/2014/04/wpf-autocompletebox-autocomplete-text.html#.WGNnq4N95aQ. 1.S ...
- 在.NET Core 3.0 Preview上使用Windows窗体设计器
支持使用基于Windows窗体应用程序的.NET Core 3.0(预览)的Windows窗体设计器 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.N ...
- Winform中怎样跨窗体获取另一窗体的控件对象
场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/de ...
- bootstrap基础样式学习(一)
1.按钮btn .btn 按钮基础的样式 .btn-default 白底黑子的按钮 .btn-danger/warning/success/info/primary .btn-lg/sm/xs 按钮大 ...
- SQL Server学习内容(一)
SQL Server SQL Server对大小写不敏感,每条语句末端使用分号. 1.SQL命令 SELECT 从数据中提取数据 UPDATE 更新数据中的数据 DELETE 从数据库中删除数据 IN ...
- 华为云fusionsphere 6.1组件功能
[fsp@controller-21 ~]$ openstack --version ##fusionsphere 6.1基于openstack 2.2.1 [fsp@controller-21 ...
- 如何下载windows版的kubectl.exe文件
github上的下载链接,不能直接下载. https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md#client-b ...