【简单】1342. 将数字变成 0 的操作次数(js)

题目:

给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。

输入:num = 14
输出:6
解释:
步骤 1) 14 是偶数,除以 2 得到 7 。
步骤 2) 7 是奇数,减 1 得到 6 。
步骤 3) 6 是偶数,除以 2 得到 3 。
步骤 4) 3 是奇数,减 1 得到 2 。
步骤 5) 2 是偶数,除以 2 得到 1 。
步骤 6) 1 是奇数,减 1 得到 0 。

/**
 * @param {number} num
 * @return {number}
 */
var numberOfSteps = function(num) {
    var aa = 0;
    while(num!=0){
        aa++;
        if(num%2 == 0){
            num = num/2;
        }else{
            num -= 1;
        }
    }
    return aa;
};

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
js是什么:JavaScript是一个脚本语言 js的引入方式: 外部:<script src=""></script> 内部:<script><!--这里输入内容--></script> 内嵌: <!--组织a标签跳转--> <a href="javascript:void(0);"></a> js的格式: 语句结束要有分号“;”(语句结束需要标识符 ;) 变量:字面意思:可以变化的量 书面意思:用于存储数据的容器 声明方法:var 能直接赋值的直接赋值,不能直接赋值的就先赋一个初始值, 而初始值的内容是将来赋值的数据类型的基础值(数字的基础是为0)(字符串为空的引号‘’) 对象{}、数组[]、function(){} 变量的命名:关键字和保留字不能作为变量名 命名的规则:组成:英文qer 数字123 下划线_ 和$(数字不能作为变量名的开头(首字母)) 匈牙利命名法:先写数据类型(数据类型的缩写),在写名字 驼峰命名法:大驼峰(每个单词首字母大写) 小驼峰(每个单词首字母大写,除了第一个单词首字母小写) 先动词后名词:获取:get、设置:set 注释:HTML注释:<!-- --> css注释:/* */ js注释:单行注释://(ctrl+/) 多行注释:/* */ (ctrl+shift+/) 数据类型:基本类型:数字number、字符串:string、布尔:boolean、null、undefined 引用类型:数组:array、对象:object、函数:function 检测数据类型:typeof-基本类型 区别: 内存:堆-》基本类型->副本 栈-》引用类型->指针 内存泄漏:变量使用后没有及时收回,使得它一直占用内存,造成该内存成为野内存 后果:浏览器的卡顿 内存污染:变量的命名由于重名发生冲突 后果:bug 内存溢出:变量存储数据的大小超出了预先分配的内存的大小 后果:浏览器卡死 垃圾回收机制:把使用后的内存及时收回 标记清除:在变量使用结束时做个标记 = null(例:oBox = null;) 引用计数:通过使用次数来判断是否使用,当声明了一个变量并将一个引用类型赋值给该变量时 则这个值得引用次数就是1,相反如果包含这个值引用的变量又取得了另一个值则这个值得引用 次数就减1当这个引用次数变成0时,他就会释放那些引用次数为0的值所占的内存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值