<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刷題實戰(zhàn)414:第三大的數(shù)

          共 991字,需瀏覽 2分鐘

           ·

          2021-10-21 07:18

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?第三大的數(shù),我們先來看題面:
          https://leetcode-cn.com/problems/third-maximum-number/

          Given an integer array nums, return the third distinct maximum number in this array. If the third maximum does not exist, return the maximum number.

          給你一個非空數(shù)組,返回此數(shù)組中 第三大的數(shù) 。如果不存在,則返回數(shù)組中最大的數(shù)。

          示例

          示例 1:
          輸入:[3, 2, 1]
          輸出:1
          解釋:第三大的數(shù)是 1 。

          示例 2:
          輸入:[1, 2]
          輸出:2
          解釋:第三大的數(shù)不存在, 所以返回最大的數(shù) 2 。

          示例 3:
          輸入:[2, 2, 3, 1]
          輸出:1
          解釋:注意,要求返回第三大的數(shù),是指在所有不同數(shù)字中排第三大的數(shù)。
          此例中存在兩個值為 2 的數(shù),它們都排第二。在所有不同數(shù)字中排第三大的數(shù)為 1 。


          解題

          • 我們可以利用TreeSet 。把元素都插入TreeSet里面,會自動升序排列 。

          • 在插入過程中,一直維護一個長度為3的,如果大于3,那么刪除最小的那個

          • 插入完畢

          • 沒有第三個 就返回最后一個(最大值) ,否則返回第一個


          class?Solution?{
          ????public?int?thirdMax(int[] nums) {
          ????????TreeSet set=new?TreeSet();
          ????????for(int?i:nums){
          ????????????set.add(i);
          ????????????if(set.size()>3){
          ?????????????????set.pollFirst();
          ????????????}
          ????????}
          ????????if(set.size()<3){
          ????????????return?set.pollLast();
          ????????}else{
          ????????????return?set.pollFirst();
          ????????}

          ????}
          }


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力 。

          上期推文:

          LeetCode1-400題匯總,希望對你有點幫助!

          LeetCode刷題實戰(zhàn)401:二進制手表

          LeetCode刷題實戰(zhàn)402:移掉 K 位數(shù)字

          LeetCode刷題實戰(zhàn)403:青蛙過河

          LeetCode刷題實戰(zhàn)404:左葉子之和

          LeetCode刷題實戰(zhàn)405:數(shù)字轉(zhuǎn)換為十六進制數(shù)

          LeetCode刷題實戰(zhàn)406:根據(jù)身高重建隊列

          LeetCode刷題實戰(zhàn)407:接雨水 II

          LeetCode刷題實戰(zhàn)408:有效單詞縮寫

          LeetCode刷題實戰(zhàn)409:最長回文串

          LeetCode刷題實戰(zhàn)410:分割數(shù)組的最大值

          LeetCode刷題實戰(zhàn)411:最短獨占單詞縮寫

          LeetCode刷題實戰(zhàn)412:Fizz Buzz


          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  人人操人人搞 | 日韩午夜福利 | 欧美乱轮视 | 天堂AV在线AA | 黄色电影大香蕉 |