代碼隨想錄算法訓(xùn)練營(yíng)第二天| 977.有序數(shù)組的平方睛榄、209.長(zhǎng)度最小的子數(shù)組、59.螺旋矩陣II想帅、

977. 有序數(shù)組的平方 - 力扣(LeetCode)

一開始沒想出來(lái)怎么用雙指針场靴,直接爆破

class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        nums_2 = [x**2 for x in nums]
        nums_2 = sorted(nums_2)
        return nums_2

方法二 雙指針(左右指針)

因?yàn)轭}目給的數(shù)組是非遞減順序,所以兩邊的平方一般比中間大(存在負(fù)數(shù))

class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        result = nums.copy()
        k = -1
        left = 0
        right = len(nums)-1

        while left <= right:
            if nums[left]**2 > nums[right]**2:
                result[k] = nums[left]**2
                left = left+1        
            else:
                result[k] = nums[right]**2
                right = right-1

            k = k-1

        return result
  • 第一種速度比第二種快港准,為什么旨剥?

209. 長(zhǎng)度最小的子數(shù)組 - 力扣(LeetCode)

一開始想寫從起始點(diǎn)開始的雙指針,邊界太難找浅缸,沒成功

滑動(dòng)窗口

class Solution(object):
    def minSubArrayLen(self, target, nums):
        i = 0
        sum = 0
        result = len(nums) + 1 
        for j in range(len(nums)):
            sum = sum + nums[j]
            while sum >= target:
                sub_l = j-i+1
                result = min(result, sub_l)
                sum = sum - nums[i]
                i = i+1
        if result == len(nums) + 1:
            result = 0
        return result

*和原本爆破方法不同轨帜,滑動(dòng)窗口區(qū)間由少到多判斷,爆破區(qū)間由多到少判斷衩椒,所以一個(gè)for就可以解決蚌父。

59. 螺旋矩陣 II

看到題目完全沒思路,直接看題解

解題思路

一圈一圈從里到外循環(huán)毛萌,注意邊界處理方法統(tǒng)一

方法一

class Solution(object):
    def generateMatrix(self, n):
        """
        :type n: int
        :rtype: List[List[int]]
        """


        star_x, star_y = 0, 0 
        offset = 1
        count  = 1
        matrix = [[0] * n for _ in range(n)]

        for quan in range(n//2):
            i = star_x
            j = star_y
            while j < n-offset:
                matrix[i][j] = count
                count = count+1
                j = j+1
            while i < n-offset:
                matrix[i][j] = count
                count  = count+1
                i = i+1
            while j > offset-1:
                matrix[i][j] = count
                count = count + 1
                j = j-1
            while i > offset-1:
                matrix[i][j] = count
                count = count+1
                i = i-1
            star_x = star_x + 1
            star_y = star_y + 1
            offset = offset + 1
        
        if n % 2 == 1:
            matrix[n//2][n//2] = count
        
        return matrix
  • python 刷題的時(shí)候不要用numpy庫(kù)
  •   :type n: int
      :rtype: List[List[int]]  #題目中參數(shù)類型明確給了苟弛,不要自己重新定義
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市阁将,隨后出現(xiàn)的幾起案子膏秫,更是在濱河造成了極大的恐慌,老刑警劉巖做盅,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荔睹,死亡現(xiàn)場(chǎng)離奇詭異狸演,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)僻他,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門宵距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吨拗,你說(shuō)我怎么就攤上這事满哪。” “怎么了劝篷?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵哨鸭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我娇妓,道長(zhǎng)像鸡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任哈恰,我火速辦了婚禮只估,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘着绷。我一直安慰自己蛔钙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布荠医。 她就那樣靜靜地躺著吁脱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彬向。 梳的紋絲不亂的頭發(fā)上兼贡,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音娃胆,去河邊找鬼遍希。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缕棵,可吹牛的內(nèi)容都是我干的孵班。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼招驴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼篙程!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起别厘,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虱饿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氮发,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渴肉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爽冕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仇祭。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖颈畸,靈堂內(nèi)的尸體忽然破棺而出乌奇,到底是詐尸還是另有隱情,我是刑警寧澤眯娱,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布礁苗,位于F島的核電站,受9級(jí)特大地震影響徙缴,放射性物質(zhì)發(fā)生泄漏试伙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一于样、第九天 我趴在偏房一處隱蔽的房頂上張望疏叨。 院中可真熱鬧,春花似錦百宇、人聲如沸考廉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至既绕,卻和暖如春啄刹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凄贩。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工誓军, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疲扎。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓昵时,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親椒丧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壹甥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容