Skip to content

Prepare For Coder Interview – Denny

  • Basic
  • Medium
  • Hard
  • Architect
  • Life

LeetCode: Convert to Base -2

Posted on August 14, 2019July 26, 2020 by braindenny

Convert to Base -2



Similar Problems:

  • CheatSheet: Leetcode For Code Interview
  • CheatSheet: Common Code Problems & Follow-ups
  • Tag: #bitmanipulation, #classic, #baseconversion

Given a number N, return a string consisting of “0”s and “1”s that represents its value in base -2 (negative two).

The returned string must have no leading zeroes, unless the string is “0”.

Example 1:

Input: 2
Output: "110"
Explantion: (-2) ^ 2 + (-2) ^ 1 = 2

Example 2:

Input: 3
Output: "111"
Explantion: (-2) ^ 2 + (-2) ^ 1 + (-2) ^ 0 = 3

Example 3:

Input: 4
Output: "100"
Explantion: (-2) ^ 2 = 4

Note:

  • 0 <= N <= 10^9

Github: code.dennyzhang.com

Credits To: leetcode.com

Leave me comments, if you have better ways to solve.


  • Solution:
// https://code.dennyzhang.com/convert-to-base-2
// Basic Ideas:
//
// base * value + reminder = old
//   0 <= reminder < abs(base)
//
// Complexity: Time O(log(n)), Space O(log(n))
import "strconv"
func baseNeg2(N int) string {
    // corner case
    if N == 0 { return "0" }
    res := ""
    for N != 0 {
        reminder := N%(-2)
        N = N/(-2)
        if reminder < 0 {
            reminder += 2
            N += 1
        }
        res = strconv.Itoa(reminder) + res
    }
    return res
}
linkedin
github
slack

Post Views: 0
Posted in BasicTagged #bitmanipulation, #classic, baseconversion

Post navigation

Review: Union Find Problems
LeetCode: Sentence Similarity II

Leave a Reply Cancel reply

Your email address will not be published.

Tags

#array #backtracking #bfs #binarytree #bitmanipulation #blog #classic #codetemplate #combination #dfs #dynamicprogramming #game #graph #greedy #heap #inspiring #interval #linkedlist #manydetails #math #palindrome #recursive #slidingwindow #stack #string #subarray #trie #twopointer #twosum binarysearch editdistance hashmap intervaldp knapsack monotone oodesign presum rectangle redo review rotatelist series sql treetraversal unionfind

Recent Posts

  • a
  • a
  • a
  • a
  • a

Recent Comments

    Archives

    Categories

    • Amusing
    • Basic
    • Easy
    • Hard
    • Life
    • Medium
    • Resource
    • Review
    • Series
    • Uncategorized
    Proudly powered by WordPress | Theme: petals by Aurorum.