文档章节

codewars067 - Delta Bits

圣洁之子
 圣洁之子
发布于 2017/04/19 17:30
字数 121
阅读 10
收藏 0

Instructions

https://www.codewars.com/kata/538948d4daea7dc4d200023f/train/java

Solution:

public class DeltaBits {
    public static int convertBits(int a, int b) {

    	StringBuilder sba = new StringBuilder(Integer.toBinaryString(a)).reverse();
    	StringBuilder sbb = new StringBuilder(Integer.toBinaryString(b)).reverse();
    	int lena = sba.length();
    	int lenb = sbb.length();
    	int size = Math.min(lena, lenb);
    	int count = 0;
    	for(int i = 0; i <= size - 1; i++){
    		if(sba.charAt(i) != sbb.charAt(i)){
    				count++;
    		}
    	}
    	String extra = null;
    	if(lena > size){
    		extra = sba.toString();
    	}else if(lenb > size){
    		extra = sbb.toString();
    	}
    	if(extra != null){
    		for(int i = size; i <= extra.length() - 1; i++){
    			if(extra.charAt(i) == '1'){
    				count++;
    			}
    		}
    	}
    	
    	
      return count;
    
    }
}

Sample Tests:

import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
public class DeltaBitsTest{
    @Test
    public void test() throws Exception{
        assertThat(DeltaBits.convertBits(31, 14), is(2));
    }    
}

© 著作权归作者所有

共有 人打赏支持
圣洁之子
粉丝 8
博文 361
码字总数 108478
作品 0
深圳
后端工程师
私信 提问
Facebook的时序数据库技术(上)

本文介绍Facebook内部监控系统所用到的时序数据库技术,为了避免文章过长,将拆成两篇文章来介绍,此为上篇。 声明:此文核心内容源自Facebook在2015年发表的论文《Gorilla: A Fast, Scalab...

HBase技术社区
2018/08/16
0
0
SQL Server事务日志分析

SQL Server事务日志分析 fndblog()和fndump_dblog()函数介绍 SQL Server有两个未公开的函数fndblog()和fndump_dblog()非常有用并且提供的信息量很大。你可以使用这些函数来获取100多列大量的...

UltraSQL
2017/08/04
0
0
radare2 1.3.0 发布,逆向工程平台

radare2 1.3.0 发布了,这是一个大版本更新,内部将本次项目名称作:永远重构(Refactor Forever)。radare2 是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。 ...

局长
2017/03/14
976
1
百度时序数据库——存储的省钱之道

作者简介 任杰 百度高级研发工程师 负责百度智能运维产品(Noah)的分布式时序数据存储设计研发工作,在大规模分布式存储、NoSQL数据库方面有大量实践经验。 干货概览 百度Noah平台的TSDB,是...

AIOps智能运维
03/01
0
0
ConcurrentHashMap源码分析

最近,在写一个数据监控项目,涉及到ConcurrentHashMap,之前只是用,虽然没出问题,但是并不是特别清楚里面的原理,所以,这一次,需要把原理弄明白再开始动手。 ==========================...

强子哥哥
2016/12/26
48
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
4
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部