摘要:解題思路這題就是最基礎(chǔ)的遞歸運(yùn)算題目,兩個(gè)選擇,一個(gè)是偶數(shù),一個(gè)是奇數(shù),偶數(shù)直接除操作,奇數(shù)變成左右兩個(gè)偶數(shù)繼續(xù)操作選擇操作最小的,注意有一個(gè)用例是,解決方法有兩種,第一就是首先把的二次冪都干掉,代碼如下
解題思路:
這題就是最基礎(chǔ)的遞歸運(yùn)算題目,兩個(gè)選擇,一個(gè)是偶數(shù),一個(gè)是奇數(shù),偶數(shù)直接除2操作,奇數(shù)變成左右兩個(gè)偶數(shù)繼續(xù)操作(選擇操作最小的),注意有一個(gè)用例是2147483647,解決方法有兩種,第一就是首先把2的二次冪都干掉,代碼如下:
class Solution {public: int integerReplacement(long long n) { // 如果是2的二次冪 if(n & (n-1) == 0){ int res = 0; while(n > 1){ res ++; n >>= 1; } return res; } if(n % 2 == 0) return integerReplacement(n/2) + 1; else return min(integerReplacement(n+1), integerReplacement(n-1)) + 1; }};
第二種方法就是直接對(duì)奇數(shù)開(kāi)半遞歸和開(kāi)半加一遞歸,這樣的代碼會(huì)更加簡(jiǎn)潔,代碼如下:
class Solution {public: int integerReplacement(int n) { if(n == 1) { return 0; } if(n % 2 == 0) return 1 + integerReplacement(n / 2); else return 2 + min(integerReplacement(n / 2), integerReplacement(n / 2 + 1)); }};
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/123941.html
摘要:解題思路一道非常簡(jiǎn)單的題目,不能被繞進(jìn)去,首先要把題目讀明白,左右坡度差本質(zhì)上是左右子樹(shù)和之差,那么問(wèn)題就簡(jiǎn)單了,每次,返回的就是當(dāng)前所在子樹(shù)之和,更新坡度差的話就是當(dāng)前左右子樹(shù)之差,這兩個(gè)要分開(kāi)來(lái)計(jì)算,代碼如下 ...
摘要:解題思路一道并不簡(jiǎn)單的模擬題,需要考慮的情況總結(jié)下來(lái)有三種長(zhǎng)度不同返回完全相同且有重復(fù)字符返回字符串有不相等的兩個(gè)地方需要查看它們交換后是否相等即可。 解題思路:...
摘要:解題思路模擬題就按照題目意思來(lái)做題目分三種情況那我們也分三種情況通過(guò)設(shè)置用來(lái)標(biāo)志第一位是大寫還是小寫小寫的話直接通過(guò)后面的都不能大寫來(lái)判斷大寫的話用記錄后面的大寫的個(gè)數(shù)為或者為字符串長(zhǎng)度才符合要求代碼如下代碼 ...
摘要:解題思路這題本質(zhì)就是數(shù)學(xué),需要分析,每個(gè)燈泡會(huì)被翻轉(zhuǎn)的時(shí)機(jī)正好是他的約數(shù)次遍歷的時(shí)候,那么我們其實(shí)知道,對(duì)于每個(gè)數(shù)的約數(shù)都是成對(duì)出現(xiàn)的,除非是完全平方數(shù),會(huì)有奇數(shù)個(gè)約數(shù),所以,最后完全平方數(shù)的燈泡會(huì)亮,題目也就變成了找 ...
摘要:解題思路首先要明確一點(diǎn),就是打亂的英文能夠還原成數(shù)字,然后觀察表格規(guī)律你就能發(fā)現(xiàn),有的數(shù)字一個(gè)字母就能決定出現(xiàn)。所以我們從單個(gè)字母就能知曉的數(shù)字出發(fā)進(jìn)行統(tǒng)計(jì),用一個(gè)長(zhǎng)度的數(shù)組來(lái)存儲(chǔ)字母?jìng)€(gè)數(shù),然后對(duì)每一個(gè)數(shù)字一一統(tǒng)計(jì),代碼如下 ...
閱讀 3246·2021-11-19 09:40
閱讀 3708·2021-11-16 11:52
閱讀 3041·2021-11-11 16:55
閱讀 3246·2019-08-30 15:55
閱讀 1248·2019-08-30 13:08
閱讀 1725·2019-08-29 17:03
閱讀 3086·2019-08-29 16:19
閱讀 2638·2019-08-29 13:43