国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

小李飛刀:做題第十彈!

bingo / 3613人閱讀

摘要:第二題漢明距離難度簡單兩個(gè)整數(shù)之間的漢明距離指的是這兩個(gè)數(shù)字對應(yīng)二進(jìn)制位不同的位置的數(shù)目。給出兩個(gè)整數(shù)和,計(jì)算它們之間的漢明距離。第三題買賣股票的最佳時(shí)機(jī)難度簡單給定一個(gè)數(shù)組,它的第個(gè)元素是一支給定股票第天的價(jià)格。

寫在前面

這幾天斷斷續(xù)續(xù)做了題目,也在慢慢體會一些數(shù)據(jù)思維。
終于不用邊做視頻邊寫題目啦~
開心~
把這幾天的題解發(fā)一下~

認(rèn)真做題的分割線
第一題

977. 有序數(shù)組的平方
難度:簡單
給定一個(gè)按非遞減順序排序的整數(shù)數(shù)組 A,返回每個(gè)數(shù)字的平方組成的新數(shù)組,要求也按非遞減順序排序。
我的題解:

class Solution(object):
    def sortedSquares(self, A):
        """
        :type A: List[int]
        :rtype: List[int]
        """
        result = [0]*len(A)
        m = 0 
        n = k = len(A)-1 
        while m <= n:
            if A[m]**2 < A[n]**2:
                result[k] = A[n]**2
                n = n -1
            else:
                result[k] = A[m]**2
                m = m + 1
            k = k - 1
        return result

我的思路:
這題參考了思路,有點(diǎn)類似之前做過的一題,因?yàn)榭赡艽嬖谪?fù)數(shù),而且為了減小循環(huán)長度,分別從兩頭來進(jìn)行計(jì)算判斷,并判斷最大值,從數(shù)組的末尾開始計(jì)入。

第二題

461. 漢明距離
難度:簡單
兩個(gè)整數(shù)之間的漢明距離指的是這兩個(gè)數(shù)字對應(yīng)二進(jìn)制位不同的位置的數(shù)目。
給出兩個(gè)整數(shù)xy,計(jì)算它們之間的漢明距離。
我的題解:

class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        return (bin(x^y)).count("1")

我的思路:
這題用異或,判斷二進(jìn)制下剩余的1即可。

第三題

121. 買賣股票的最佳時(shí)機(jī)
難度:簡單
給定一個(gè)數(shù)組,它的第 i 個(gè)元素是一支給定股票第 i 天的價(jià)格。
如果你最多只允許完成一筆交易(即買入和賣出一支股票),設(shè)計(jì)一個(gè)算法來計(jì)算你所能獲取的最大利潤。
注意你不能在買入股票前賣出股票。
我的題解:

class Solution(object):
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        min_p, max_p = 999999, 0
        for i in range(len(prices)):
            min_p = min(min_p, prices[i])
            max_p = max(max_p, prices[i] - min_p)
        return max_p

我的思路:
為了獲取最大的利潤,我們必須找到最低的價(jià)格,并用當(dāng)前日期的價(jià)格減去最低價(jià)格,獲得利潤。
這題也是動態(tài)規(guī)劃思路,最關(guān)鍵要找到最低價(jià)格是我們必須判斷的點(diǎn),接著判斷最大的利潤值,不斷進(jìn)行比對。

第四題

122. 買賣股票的最佳時(shí)機(jī) II
難度:簡單
給定一個(gè)數(shù)組,它的第 i 個(gè)元素是一支給定股票第 i 天的價(jià)格。
設(shè)計(jì)一個(gè)算法來計(jì)算你所能獲取的最大利潤。你可以盡可能地完成更多的交易(多次買賣一支股票)。
注意:你不能同時(shí)參與多筆交易(你必須在再次購買前出售掉之前的股票)。
我的題解:

class Solution(object):
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        profit = 0
        for i in range(len(prices)-1):
            if prices[i+1] - prices[i] > 0:
                profit += prices[i+1] - prices[i]
        return profit

我的思路:
這題需要考慮到,
1.當(dāng)天賣出后可以當(dāng)天繼續(xù)買入;
2.為了買賣盡可能多次,當(dāng)后來日期的金額>買入日期的時(shí)候,即做賣出動作,獲取收益。

第五題

557. 反轉(zhuǎn)字符串中的單詞 III
難度:簡單
給定一個(gè)字符串,你需要反轉(zhuǎn)字符串中每個(gè)單詞的字符順序,同時(shí)仍保留空格和單詞的初始順序。
我的題解:

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        l = s.split(" ")
        return " ".join(map(lambda x:x[::-1],l))

我的思路:
這題參考了評論里的方案,python似乎在字符串的處理上有先天的優(yōu)勢。
順便復(fù)習(xí)了下知識點(diǎn):

join 用于連接字符串 "-".join([a,b])

map map(函數(shù),需要處理的對象)

lambda表達(dá)式 匿名函數(shù),一目了然的輸入和輸出

[:]數(shù)組默認(rèn)參數(shù)為0和len-1,等于復(fù)制一份數(shù)組,即a[:]=a

[::-1] 當(dāng)步長小于0的時(shí)候,默認(rèn)缺省值為-1和len-1,即a[::-1] = a[len(a)-1:-1:-1],即逆序遍歷

第六題

231. 2的冪
難度:簡單
給定一個(gè)整數(shù),編寫一個(gè)函數(shù)來判斷它是否是 2 的冪次方
我的題解:

class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        if n == 0:
            return False
        if n == 1:
            return True
        if n % 2 == 1:
            return False
        elif n == 2:
            return True
        else:
            return self.isPowerOfTwo(n/2)

我的思路:
這題用了非常暴力的方法,但是還是提交錯(cuò)了兩次,少判斷了為01的情況。
因?yàn)樽约簩懙倪f歸,就非常的開心...emmm遞歸棧有趣~
但是效率不太高

總結(jié)一下

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43470.html

相關(guān)文章

  • 小李飛刀做題第十二彈!

    摘要:寫在前面今天沒有叨逼叨但是又一次錯(cuò)過了競賽愛睡覺的小李下周要上班,下下周一定要參加了握拳認(rèn)真做題的分割線第一題兩地調(diào)度公司計(jì)劃面試人。第人飛往市的費(fèi)用為,飛往市的費(fèi)用為。示例輸入輸出解釋第一個(gè)人去市,費(fèi)用為。 寫在前面 今天沒有叨逼叨...但是又一次錯(cuò)過了競賽...愛睡覺的小李...下周要上班,下下周一定要參加了(握拳 認(rèn)真做題的分割線 第一題 1029. 兩地調(diào)度公司計(jì)劃面試2N人。...

    yagami 評論0 收藏0
  • 小李飛刀:刷題第十三彈!

    摘要:寫在前面今天的小李的目標(biāo)是排序算法,果然還是要下手寫才會更有體會,也更記得住。排序算法冒泡排序主要是比對相鄰兩個(gè)數(shù)之間的大小關(guān)系,不斷將較大值交換至最后。 寫在前面 今天的小李的目標(biāo)是排序算法,果然還是要下手寫才會更有體會,也更記得住。 認(rèn)真做題的分割線 第一題 215. 數(shù)組中的第K個(gè)最大元素難度:中等在未排序的數(shù)組中找到第k個(gè)最大的元素。請注意,你需要找的是數(shù)組排序后的第k個(gè)最大的...

    lixiang 評論0 收藏0
  • 小李飛刀做題第十一彈!

    摘要:第五題對稱二叉樹難度簡單給定一個(gè)二叉樹,檢查它是否是鏡像對稱的。第十六題最大連續(xù)的個(gè)數(shù)難度簡單給定一個(gè)二進(jìn)制數(shù)組,計(jì)算其中最大連續(xù)的個(gè)數(shù)。第十八題平方數(shù)之和難度簡單給定一個(gè)非負(fù)整數(shù),你要判斷是否存在兩個(gè)整數(shù)和,使得。 寫在前面 最近忙著調(diào)教新裝備,沒有及時(shí)的寫題解,但是沒有在偷懶沒刷題喔~來認(rèn)真整理下最近做的題目~ 之前考慮按tag來刷題,后來收到了推薦的leetcode題解,就根據(jù)上...

    ytwman 評論0 收藏0
  • 小李飛刀題第六彈!

    摘要:給定的字符串只含有小寫英文字母,并且長度不超過。其他這題了,要重做看了其他的人的題解,使用的是無限逼近中位值的辦法,理論基礎(chǔ)應(yīng)該是泰勒公式。萬萬沒想到居然用到了泰勒公式手工執(zhí)行了下算法,反而理解的更快,但是泰勒公式還得再復(fù)習(xí)下。 寫在前面的話 今天持續(xù)做題ing,python有意思~今天的題有點(diǎn)虐心...興許是我太笨了...會努力學(xué)習(xí)的!動態(tài)規(guī)劃我來啦~ 開始做題 第一題 459. 重...

    BigNerdCoding 評論0 收藏0
  • 小李飛刀題第八彈!

    摘要:認(rèn)真做題的分割線第一題乘積最大子序列難度中等給定一個(gè)整數(shù)數(shù)組,找出一個(gè)序列中乘積最大的連續(xù)子序列該序列至少包含一個(gè)數(shù)。 寫在前面的話 慢慢轉(zhuǎn)變思路,不再死磕不會做的題,思路可以先借鑒,但是一定要吃透透。上周末看完看完了《算法圖解》,感覺對一些題目的思路有比較大的幫助,但是還是要在實(shí)踐中理解。 認(rèn)真做題的分割線 第一題 152. 乘積最大子序列難度:中等給定一個(gè)整數(shù)數(shù)組nums,找出一個(gè)...

    ztyzz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<