成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

小李飛刀:用python刷題ing....

fasss / 3189人閱讀

摘要:叨逼叨默認(rèn)每天都要刷兩道題。今天目標(biāo)已完成。經(jīng)過昨天的那題數(shù)組題,我換了一種方式。之前我采用的是下標(biāo)來定位,用來刪除重復(fù)項(xiàng)。這次采用了數(shù)組內(nèi)的每一項(xiàng)來多帶帶做對(duì)比,用來進(jìn)行刪除操作。這個(gè)判定很重要其中的是后面進(jìn)行修改的,是必須的判定。

叨逼叨

默認(rèn)每天都要刷兩道題。
今天目標(biāo)已完成。

第一題

26. 刪除排序數(shù)組中的重復(fù)項(xiàng)
難度:簡(jiǎn)單
類型:數(shù)組

給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長(zhǎng)度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。

這題其實(shí)我之前做過,但是一直提交失敗。
經(jīng)過昨天的那題數(shù)組題,我換了一種for in方式。
之前我采用的是下標(biāo)來定位,用pop來刪除重復(fù)項(xiàng)。
這次采用了數(shù)組內(nèi)的每一項(xiàng)來多帶帶做對(duì)比,用remove來進(jìn)行刪除操作。

class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        length = len(nums)
        if length > 1: 這個(gè)判定很重要
            point = nums[0]
            for i in nums[1:]:
                if point != i:
                    point = i
                else:
                    nums.remove(i)
        print(len(nums))

其中的if length > 1是后面進(jìn)行修改的,是必須的判定。
因?yàn)榭赡艽嬖诳諗?shù)組的情況,那么length = 0,不需要?jiǎng)h除任何項(xiàng)目。
而當(dāng)只有一個(gè)數(shù)組的時(shí)候,length = 1,同樣不需要?jiǎng)h除任何項(xiàng)目。

看了下用時(shí),800ms屬于中間位置。

看了下44ms的范例,采用的是下標(biāo)標(biāo)記,用了反向的思路。

因?yàn)槭怯行驍?shù)組,采用了快慢兩種指針,當(dāng)存在不一致的時(shí)候,可以進(jìn)行覆蓋,達(dá)到刪除的目的。

第二題

80. 刪除排序數(shù)組中的重復(fù)項(xiàng) II
難度:中等
類型:數(shù)組

給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素最多出現(xiàn)兩次,返回移除后數(shù)組的新長(zhǎng)度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。

和第一題十分相似,但是多了條件,就是數(shù)值可以出現(xiàn)兩次,這就需要額外的進(jìn)行計(jì)數(shù)。

class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if len(nums) < 1:
            return 0
        point = nums[0]
        count = 0 
        for i in nums[1:]:
            if point != i:
                point = i
                count = 0
            else:
                count = count + 1
                if count == 2:
                    nums.remove(i)
                    count = 1
        return len(nums)

我的思路都是比較粗暴的辦法,就是用變量記錄當(dāng)前的對(duì)比值,當(dāng)對(duì)比值出現(xiàn)超出2次時(shí)候,就進(jìn)行remove,和第一題比較接近的思路,方法也大致相同。


這題的用時(shí)會(huì)更少一點(diǎn),但是也是中間位置。

總結(jié)

這兩天做的題目都比較相似,而且難度較低,都是數(shù)組的題目。
套路比較相似,對(duì)python3的刪除操作和遍歷也有了更深的認(rèn)識(shí)與實(shí)踐。
后續(xù)要開始做更多其他數(shù)據(jù)結(jié)構(gòu)的題目,不斷嘗試。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43104.html

相關(guān)文章

  • 小李飛刀刷題第三彈!

    摘要:刷題第三天正式刷題第三天。注意空字符串可被認(rèn)為是有效字符串。錯(cuò)誤的一次是因?yàn)闆]有考慮空字符串,當(dāng)存在為的時(shí)候,結(jié)果應(yīng)該為。第二題加一難度簡(jiǎn)單類型給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù),在該數(shù)的基礎(chǔ)上加一。 刷題第三天 正式刷題第三天。之前看了個(gè)說法,挺認(rèn)可的。就是不要太在意一天的能呈現(xiàn)的價(jià)值,但是要在意累計(jì)的價(jià)值。之前很多時(shí)候我會(huì)對(duì)今天一天沒有完成的計(jì)劃而沮喪,事實(shí)上,算法的實(shí)踐...

    SillyMonkey 評(píng)論0 收藏0
  • 小李飛刀刷題第五彈!

    摘要:寫在前面的話好幾天木有刷題啦,今天猛刷了一把,要梳理一個(gè)順序好好的學(xué)習(xí)啦一定要好好執(zhí)行每天做題的計(jì)劃最近真的好忙碌啊,還要做視頻。第二題最大子序和難度簡(jiǎn)單給定一個(gè)整數(shù)數(shù)組,找到一個(gè)具有最大和的連續(xù)子數(shù)組子數(shù)組最少包含一個(gè)元素,返回其最大和。 寫在前面的話 好幾天木有刷題啦,今天猛刷了一把,要梳理一個(gè)順序好好的學(xué)習(xí)啦~一定要好好執(zhí)行每天做題的計(jì)劃!最近真的好忙碌啊,還要做視頻。不過呢,看...

    Miracle 評(píng)論0 收藏0
  • 小李飛刀:做題第六彈!

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

    BigNerdCoding 評(píng)論0 收藏0
  • 小李飛刀刷題第十三彈!

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

    lixiang 評(píng)論0 收藏0
  • 小李飛刀刷題第四彈!

    摘要:第二題羅馬數(shù)字轉(zhuǎn)整數(shù)難度簡(jiǎn)單羅馬數(shù)字包含以下七種字符,,,,,和。字符數(shù)值例如,羅馬數(shù)字寫做,即為兩個(gè)并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。給定一個(gè)羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。 隨便說點(diǎn)啥 TIME:2019-02-01昨晚其實(shí)刷了題來著,但是沒有解出來,哭泣!但是,今天重新寫了下,解出來咯~所以今天的題量要增加咯~我會(huì)加油的! 第一題 14. 最長(zhǎng)公共前綴難度:簡(jiǎn)單 ...

    luffyZh 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<