LeetCode 솔루션 분류
[5/27] 1342. Number of Steps to Reduce a Number to Zero
본문
Easy
1738111Add to ListShareGiven an integer num
, return the number of steps to reduce it to zero.
In one step, if the current number is even, you have to divide it by 2
, otherwise, you have to subtract 1
from it.
Example 1:
Input: num = 14 Output: 6 Explanation: Step 1) 14 is even; divide by 2 and obtain 7. Step 2) 7 is odd; subtract 1 and obtain 6. Step 3) 6 is even; divide by 2 and obtain 3. Step 4) 3 is odd; subtract 1 and obtain 2. Step 5) 2 is even; divide by 2 and obtain 1. Step 6) 1 is odd; subtract 1 and obtain 0.
Example 2:
Input: num = 8 Output: 4 Explanation: Step 1) 8 is even; divide by 2 and obtain 4. Step 2) 4 is even; divide by 2 and obtain 2. Step 3) 2 is even; divide by 2 and obtain 1. Step 4) 1 is odd; subtract 1 and obtain 0.
Example 3:
Input: num = 123 Output: 12
Constraints:
0 <= num <= 106
관련자료
-
링크
댓글 1
mingki님의 댓글
- 익명
- 작성일
C++
Runtime: 0 ms, faster than 100.00% of C++ online submissions for Number of Steps to Reduce a Number to Zero.
Memory Usage: 5.8 MB, less than 74.11% of C++ online submissions for Number of Steps to Reduce a Number to Zero.
Runtime: 0 ms, faster than 100.00% of C++ online submissions for Number of Steps to Reduce a Number to Zero.
Memory Usage: 5.8 MB, less than 74.11% of C++ online submissions for Number of Steps to Reduce a Number to Zero.
class Solution {
public:
int numberOfSteps(int num) {
int steps = 0;
while (num > 0) {
num = num & 1 ? num ^ 1 : num >> 1;
++steps;
}
return steps;
}
};