zoukankan      html  css  js  c++  java
  • leetCode算法题(一)

    题目
    给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero

    实例
    输入: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 。

    var numberOfSteps  = function(num) {
      var step = 0
      while(num != 0){
        if (num % 2 === 0) {
          step ++
          num = num / 2
        }else {
          step ++
          num = num - 1
        }
      }
      return step

    思路

    此题目无法得知循环次数,但是可以根据条件判断,所以用了while循环,比较简单,可能会有一些别的性能比较高的解法,可以评论中交流一下。



  • 相关阅读:
    three.js-sun-lensflare
    three.js-Raycaster
    three.js-shadow
    three.js-core
    three.js-Basic-Expand
    Three.js Basic
    md5加密
    密码验证正则表达式
    启动线程开启信的线程
    获取WINDOW.OPEN url js中的get取值
  • 原文地址:https://www.cnblogs.com/PrayLs/p/12699285.html
Copyright © 2011-2022 走看看