关注
第一题想到个方法,用纯真值表和位运算做,考虑单个位置:
a=1,b=1 c=0需要两次 c=1不需要
a=0,b=1 c=0需要一次 c=1不需要 (同a=1,b=0)
a=0,b=0 c=0不需要 c=1需要一次
因为位运算没有2,所以拆成两个数计算次数
举例d=(a^c)&(b^c)
a=1,b=1 c=0,d=1 c=1,d=0
a=0,b=1 c=0,d=0 c=1,d=0 (同a=1,b=0)
a=0,b=0 c=0,d=0 c=1,d=1
e同理,
a=1,b=1 c=0,e=1 c=1,e=0
a=0,b=1 c=0,e=1 c=1,e=0 (同a=1,b=0)
a=0,b=0 c=0,e=0 c=1,e=0
不要觉得d、e奇怪,使用ac、bc真值表凑的
public Integer cal(Integer a,Integer b,Integer c) {
int ab = a|b,counter=0,
d=(a^c)&(b^c),lastD,
e=(ab)^c&(ab),lastE;
while(d!=0){
lastD = d % 2;
if(lastD==1)
counter++;
d = d >> 1;
}
while(e!=0){
lastE = e % 2;
if(lastE==1)
counter++;
e = e >> 1;
}
return counter;
}
没验证过其他的,可以帮我测一下
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-31 13:04
南华大学 Java
嵌入式的小白:很多面试,面试前不会去打扰cto的,但一般cto不会在这些小事上刷人,只能说这个cto比较操心,啥重要不重要,紧急不紧急的,估计都会过问,平淡看待吧 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
148543次浏览 2528人参与
# 秋招落幕,你是He or Be #
3358次浏览 76人参与
# 应届生进小公司有什么影响吗 #
109151次浏览 1116人参与
# 比亚迪工作体验 #
70268次浏览 254人参与
# 你面试体验感最差/最好的公司 #
3252次浏览 56人参与
# 工作中听到最受打击的一句话 #
2662次浏览 61人参与
# 大厂VS公务员你怎么选 #
71403次浏览 660人参与
# 重来一次,你会对开始求职的自己说 #
3116次浏览 71人参与
# 一人说一个提前实习的好处 #
3567次浏览 72人参与
# 团建是“福利”还是是 “渡劫” #
4137次浏览 110人参与
# 实习没事做是福还是祸? #
8522次浏览 135人参与
# 如何排解工作中的焦虑 #
244074次浏览 2241人参与
# 从顶到拉给所有面过的公司评分 #
144839次浏览 518人参与
# 今年你最想重开的一场面试是? #
1493次浏览 25人参与
# 你小心翼翼的闯过多大的祸? #
7109次浏览 109人参与
# 联影求职进展汇总 #
123874次浏览 781人参与
# OPPO求职进展汇总 #
755974次浏览 5390人参与
# 互联网公司爆料 #
158630次浏览 724人参与
# 产品实习,你更倾向大公司or小公司 #
189152次浏览 2053人参与
# 秋招结束之后的日子 #
113935次浏览 1039人参与