关注
package xiaozhao2017;
import java.util.Scanner;
public class FullBST {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
int k=scan.nextInt();
int num1=scan.nextInt();
int num2=scan.nextInt();
int num3=scan.nextInt();
String s1=convertNumberToKLength(k,num1);
String s2=convertNumberToKLength(k,num2);
String s3=convertNumberToKLength(k,num3);
System.out.println(minRootNumber(s1,s2,s3));
}
public static int minRootNumber(String s1,String s2,String s3){
int difference=0;
for(int i=0;i<s1.length();i++){
if(!((s1.charAt(i)==s2.charAt(i))&&((s2.charAt(i)==s3.charAt(i))))){
difference=i;
break;
}
}
String ans=s1.substring(0,difference);
ans+="1";
for(int i=0;i<=s1.length()-ans.length();i++){
ans+="0";
}
return convertBinaryToDecimal(ans);
}
public static int convertBinaryToDecimal(String str){
int ans=0;
for(int i=str.length()-1;i>=0;i--){
int bit=Integer.parseInt(str.charAt(i)+"");
if((bit&1)!=0){
ans+=Math.pow(2, str.length()-i-1);
}
}
return ans;
}
public static String convertNumberToKLength(int k,int n){
String str=Integer.toBinaryString(n);
String s="";
if(str.length()<k){
for(int i=0;i<k-str.length();i++){
s+="0";
}
s+=str;
return s;
}
return str;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
19239次浏览 351人参与
# 在国企工作的人,躺平了吗? #
332643次浏览 3856人参与
# 实习吐槽大会 #
21727次浏览 99人参与
# 我的租房踩坑经历 #
13551次浏览 183人参与
# 晒一晒你的工位 #
82476次浏览 291人参与
# 夸夸我的求职搭子 #
190607次浏览 1890人参与
# 小厂实习有必要去吗 #
46140次浏览 267人参与
# 穿越回高考你还会选现在的专业吗 #
14538次浏览 195人参与
# 毕业旅行去哪玩儿 #
766次浏览 22人参与
# 携程求职进展汇总 #
527202次浏览 3909人参与
# 工作压力大怎么缓解 #
79032次浏览 934人参与
# 今年形式下双非本找得到工作吗 #
140301次浏览 1067人参与
# 实习中的菜狗时刻 #
365597次浏览 3292人参与
# 互联网公司评价 #
382761次浏览 3796人参与
# 产运销实习日记 #
51772次浏览 544人参与
# 你最满意的offer薪资是哪家公司? #
25726次浏览 134人参与
# 选完offer后,你后悔学机械吗? #
29111次浏览 162人参与
# 中兴求职进展汇总 #
602959次浏览 2641人参与
# 我的第一份实习怎么找的 #
105965次浏览 1046人参与
# 打工人锐评公司红黑榜 #
144899次浏览 900人参与