首页 技术 正文
技术 2022年11月24日
0 收藏 432 点赞 4,360 浏览 447 个字
Twitter OA prepare: Two Operations

准备T家OA,网上看的面经

最直接的方法,从target降到1,如果是奇数就减一,偶数就除2

 public static void main(String[] args) {
int a = shortest(17);
System.out.println(a);
} public static int shortest(int target) {
if (target < 1) {
return -1;
}
int count = 1;
while (target != 1) {
if (target % 2 == 0) {
target /= 2;
} else {
target -= 1;
}
count ++;
}
return count;
}

分析:这道题就是看这个二进制数most significant bit的1左移了多少位,即是所需的乘2次数;然后除开Most Significant bit的这个1之后的其它1的个数,就是需要加1的次数

比如15,1111,most significant bit的1是左移三位得到的,所以需要乘2三次,剩下111三个1,所以需要加1 三次,总操作3+3+1=7次。

微信扫一扫

支付宝扫一扫

本文网址:https://www.zhankr.net/142046.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:875 阅读:5,067
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:806 阅读:3,504
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:565 阅读:4,312
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:730 阅读:4,307
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:4,904
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:3,097
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:8:00-16:00

客服电话

400-888-8888

客服邮箱

ceotheme@ceo.com

扫描二维码

关注微信公众号

扫描二维码

手机访问本站