iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
自我挑戰組

JavaScript - 30天 - 自學挑戰系列 第 21

LeetCode Js-231. Power of Two

  • 分享至 

  • xImage
  •  

LeetCode Js-231. Power of Two

Given an integer n, return true if it is a power of two. Otherwise, return false.
An integer n is a power of two, if there exists an integer x such that n == 2x.

給予一個整數 n,如果此值是二的次方,回傳 true,否則回傳 false。
如果這裡存在一個整數 x 為 n 等於 2^x,則 n 是 2 的次方。

Example 1:

Input: n = 1
Output: true
Explanation: 20 = 1

Solution:

  1. 先判斷 n 為負數則為 false。
  2. 再判斷 n 為 1 時,回傳 true。(2^0 = 1)
  3. 運用 while 迴圈,將 n > 5 的數值先行減半。
  4. 再回傳 n % 2 的餘數,如為 0 則回傳 true,如為 1 則回傳 false。

Code:

var isPowerOfTwo = function(n) {
  if (n <= 0) return false
  if (n === 1) return true

  while (n > 5) {
    n = n / 2
  }
  return n % 2 === 0
};

FlowChart:
Example 1

Input: n = 1

if (n === 1) return true

上一篇
LeetCode Js-1929. Concatenation of Array
下一篇
LeetCode Js-242. Valid Anagram
系列文
JavaScript - 30天 - 自學挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言