<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【一天一道Leetcode】單調(diào)數(shù)列

          共 1866字,需瀏覽 4分鐘

           ·

          2021-03-01 00:19


          本篇推文共計(jì)2000個字,閱讀時間約3分鐘。



          01


          題目描述


          題目描述:

          如果數(shù)組是單調(diào)遞增或單調(diào)遞減的,那么這個數(shù)組就是單調(diào)的數(shù)組。

          如果對于所有 i <= j,A[i] <= A[j]

          那么數(shù)組 A 是單調(diào)遞增的。


          如果對于所有 i<= j,A[i]> = A[j]

          那么數(shù)組 A 是單調(diào)遞減的。


          當(dāng)給定的數(shù)組 A是單調(diào)數(shù)組時返回 true,

          否則返回 false。


          示例:

          輸入:[1,2,2,3]

          輸出:true

           

          輸入:[6,5,4,4]

          輸出:true

           

          輸入:[1,3,2]

          輸出:false




          02


          代碼分析


          既然需要判斷數(shù)組是否單調(diào)遞增或者單調(diào)遞減

          可以先將原數(shù)組進(jìn)行升序或者降序排序,再將排序后的數(shù)組與原數(shù)組進(jìn)行比較,判斷是否相等,如果相等則輸出true,不相等則輸出false。


          這里引入sorted()的函數(shù)概念

          sorted()函數(shù)是Python3的內(nèi)置函數(shù)


          sorted()函數(shù)的主要用法是對所有可迭代的對象進(jìn)行排序操作。

          如下所示:


          sorted(iterable, key=None, reverse=False)


          iterable:可迭代對象。


          key:主要是用來進(jìn)行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進(jìn)行排序。


          reverse:排序規(guī)則,reverse= True 降序 , reverse = False 升序(默認(rèn))。


          sorted()函數(shù)的實(shí)際用法如下所示:


          A=[8,5,5,9,1]
          # 默認(rèn)為升序
          sorted(A)=[1,5,5,8,9]
          # 此時為降序
          sorted(A, reverse = True)=[9,8,5,5,1]


          由此可以得到本題的解題代碼:


          class Solution:
              def isMonotonic(self, A: List[int]) -> bool:
                  B=sorted(A)
                  C=sorted(A,reverse=True)
                  if B==A or C==A:
                      return True
                  return False


          A為輸入列表,B為將A進(jìn)行升序后的列表,C為將A進(jìn)行降序后的列表。


          緊接著一個判斷語句,

          只要B==A(單調(diào)遞增)或者C==A(單調(diào)遞減)

          則輸出true,否則輸出false

          我們將代碼進(jìn)行簡化:


          class Solution:
              def isMonotonic(self, A: List[int]) -> bool:
                  return A==sorted(A) or A==sorted(A,reverse=True)


          直接將判斷語句集成到return語句


          如果A==sorted(A)

          或者A==sorted(A,reverse=True)


          語句中一個條件為1,則輸出true,否則輸出false




          往期回顧

          【年終總結(jié)】你好2021,再見2020。


          【快速寫好畢業(yè)論文】你不得不知曉的七個常用文獻(xiàn)搜索平臺


          【秋招紀(jì)實(shí)錄】一篇特別正經(jīng)的【騰訊】求職經(jīng)驗(yàn)分享


          【一天一道Leetcode】兩數(shù)之和


          【秋招紀(jì)實(shí)錄】一篇特別正經(jīng)的【無領(lǐng)導(dǎo)小組討論】經(jīng)驗(yàn)分享


          【秋招紀(jì)實(shí)錄】一篇特別正經(jīng)的【國企】求職經(jīng)驗(yàn)分享



          ☆ END ☆

          你與世界

          只差一個

          公眾號

          瀏覽 72
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲乱伦中文字幕 | 国产BBB| 麻豆精产国品免费观看mv | 伊人大香蕉综合网 | 一道本高清无码视频 |