国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【LeetCode】每日一題 - 負(fù)二進(jìn)制轉(zhuǎn)化

這篇具有很好參考價(jià)值的文章主要介紹了【LeetCode】每日一題 - 負(fù)二進(jìn)制轉(zhuǎn)化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

負(fù)二進(jìn)制轉(zhuǎn)換

給你一個整數(shù)?n?,以二進(jìn)制字符串的形式返回該整數(shù)的?負(fù)二進(jìn)制(base -2表示。

注意,除非字符串就是?"0",否則返回的字符串中不能含有前導(dǎo)零。

示例 1:

輸入:n = 2
輸出:"110"
解釋:(-2)2 + (-2)1 = 2

示例 2:

輸入:n = 3
輸出:"111"
解釋:(-2)2 + (-2)1 + (-2)0 = 3

示例 3:

輸入:n = 4
輸出:"100"
解釋:(-2)2 = 4

提示:

  • 0 <= n <= 109

思路:將一個十進(jìn)制的數(shù) n 轉(zhuǎn)化為任意 x 進(jìn)制都可以使用這樣的思路。

第一步:先得到轉(zhuǎn)化為進(jìn)制結(jié)果的最后一位 t :n % x (但如果得到的最后一位是負(fù)數(shù)的話,需要根據(jù)語言特性將其轉(zhuǎn)化為正數(shù)),然后將最后一位添加到目標(biāo)字符串中,然后將這個最后一位 t 在 n 中減去。

第二步:將這個十進(jìn)制數(shù)按 x 進(jìn)制的規(guī)則右移一位:n /= x,然后重復(fù)得到最后一位并添加的操作,最終可以得到一個字符串。

第三步:因?yàn)槊看蔚玫降亩际抢碚撋系淖詈笠晃?,所以最后需要將字符串逆置,就得到了最終答案!

力扣代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-861796.html

class Solution {
public:
    string baseNeg2(int n) {
        if(n == 0) return "0";
        int x = -2;
        string s;
        while (n) 
        {
            if (n % x == 0) // 最后一位數(shù)是 0
                s += "0";
            else 
            {
                // 將最后一位減去, 因?yàn)?x 進(jìn)制的最后一位在權(quán)重上和十進(jìn)制是一樣
                n -= 1;  
                s += "1";
            }
            n /= x; // 將 n 右移一位
        }
        reverse(s.begin(), s.end()); // 逆序字符串
        return s;
    }
};

到了這里,關(guān)于【LeetCode】每日一題 - 負(fù)二進(jìn)制轉(zhuǎn)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • (位運(yùn)算) 1356. 根據(jù)數(shù)字二進(jìn)制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    (位運(yùn)算) 1356. 根據(jù)數(shù)字二進(jìn)制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    難度:簡單 給你一個整數(shù)數(shù)組 arr 。請你將數(shù)組中的元素按照其二進(jìn)制表示中數(shù)字 1 的數(shù)目升序排序。 如果存在多個數(shù)字二進(jìn)制中 1 的數(shù)目相同,則必須將它們按照數(shù)值大小升序排列。 請你返回排序后的數(shù)組。 示例 1: 輸入 :arr = [0,1,2,3,4,5,6,7,8] 輸出 :[0,1,2,4,8,3,5,6,7] 解釋

    2024年02月12日
    瀏覽(89)
  • 【每日一題】1253. 重構(gòu) 2 行二進(jìn)制矩陣

    給你一個 2 行 n 列的二進(jìn)制數(shù)組: 矩陣是一個二進(jìn)制矩陣,這意味著矩陣中的每個元素不是 0 就是 1。 第 0 行的元素之和為 upper。 第 1 行的元素之和為 lower。 第 i 列(從 0 開始編號)的元素之和為 colsum[i],colsum 是一個長度為 n 的整數(shù)數(shù)組。 你需要利用 upper,lower 和 colsu

    2024年02月12日
    瀏覽(88)
  • C語言每日一題之整數(shù)求二進(jìn)制1的個數(shù)

    C語言每日一題之整數(shù)求二進(jìn)制1的個數(shù)

    今天分享一道題目,用三種方法來求解 二進(jìn)制1的個數(shù) 方法1 我們的十進(jìn)制除10和取余數(shù)就可以得到我們每一位的數(shù)字,那我們的二進(jìn)制也可 以 這是一種方法,另外一種就是我們可以用移位操作符來算 這個方法是不是也是特別妙呢,當(dāng)然還有更妙的方法,請看!?。?相信看

    2024年02月15日
    瀏覽(90)
  • C語言每日一題(5):求兩個數(shù)二進(jìn)制中不同位的個數(shù)

    C語言每日一題(5):求兩個數(shù)二進(jìn)制中不同位的個數(shù)

    文章主題:求兩個數(shù)二進(jìn)制中不同位的個數(shù)?? 所屬專欄: C語言每日一題 ?? 作者簡介:每天不定時更新C語言的小白一枚,記錄分享自己每天的所思所想???? 個人主頁: [?]的個人主頁 ???? 最近剛學(xué)位操作符以及二進(jìn)制碼的相關(guān)知識,于是想出了求兩個數(shù)二進(jìn)制中不同

    2024年02月07日
    瀏覽(848)
  • Leetcode67 二進(jìn)制求和

    Leetcode67 二進(jìn)制求和

    給你兩個二進(jìn)制字符串? a ?和? b ?,以二進(jìn)制字符串的形式返回它們的和。 ? ? ?代碼 ?

    2024年02月11日
    瀏覽(88)
  • leetcode-顛倒二進(jìn)制位

    190. 顛倒二進(jìn)制位 題解: 我們可以使用位運(yùn)算來解決這個問題。具體步驟如下: 初始化一個變量res為0,用于存儲顛倒后的二進(jìn)制位。 循環(huán)32次,每次將n的最低位取出,并將其添加到res的最高位上。 將n右移一位,將res左移一位。 返回res作為最終結(jié)果。

    2024年01月25日
    瀏覽(92)
  • 【LeetCode】67. 二進(jìn)制求和

    難度:簡單 給你兩個二進(jìn)制字符串 a 和 b ,以二進(jìn)制字符串的形式返回它們的和。 示例 1: 示例 2: 提示: 1 = a.length, b.length = 10^4 a 和 b 僅由字符 \\\'0\\\' 或 \\\'1\\\' 組成 字符串如果不是 \\\"0\\\" ,就不含前導(dǎo)零 思路: 從后往前遍歷字符逐個判斷即可 最后考慮是否進(jìn)位 sum 1 等價(jià)于 sum

    2024年02月05日
    瀏覽(85)
  • 【每日一題Day218】LC1091 二進(jìn)制矩陣中的最短路徑 | BFS

    你駕駛出租車行駛在一條有 n 個地點(diǎn)的路上。這 n 個地點(diǎn)從近到遠(yuǎn)編號為 1 到 n ,你想要從 1 開到 n ,通過接乘客訂單盈利。你只能沿著編號遞增的方向前進(jìn),不能改變方向。 乘客信息用一個下標(biāo)從 0 開始的二維數(shù)組 rides 表示,其中 rides[i] = [starti, endi, tipi] 表示第 i 位乘客

    2024年02月08日
    瀏覽(87)
  • leetcode: 2861. 最大二進(jìn)制奇數(shù)

    給你一個?二進(jìn)制?字符串? s ?,其中至少包含一個? \\\'1\\\' ?。 你必須按某種方式?重新排列?字符串中的位,使得到的二進(jìn)制數(shù)字是可以由該組合生成的?最大二進(jìn)制奇數(shù)?。 以字符串形式,表示并返回可以由給定組合生成的最大二進(jìn)制奇數(shù)。 注意?返回的結(jié)果字符串?可以?含

    2024年03月13日
    瀏覽(90)
  • 代碼訓(xùn)練LeetCode(12)二進(jìn)制求和

    代碼訓(xùn)練LeetCode(12)二進(jìn)制求和

    Author: Once Day Date: 2024年3月14日 一位熱衷于Linux學(xué)習(xí)和開發(fā)的菜鳥,試圖譜寫一場冒險(xiǎn)之旅,也許終點(diǎn)只是一場白日夢… 漫漫長路,有人對你微笑過嘛… 全系列文章可參考專欄: 十年代碼訓(xùn)練_Once-Day的博客-CSDN博客 參考文章: 67. 二進(jìn)制求和 - 力扣(LeetCode) 力扣 (LeetCode) 全球極

    2024年03月20日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包