<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)540:有序數(shù)組中的單一元素

          共 2209字,需瀏覽 5分鐘

           ·

          2022-03-02 20:54

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

          今天和大家聊的問題叫做?有序數(shù)組中的單一元素,我們先來看題面:
          https://leetcode-cn.com/problems/single-element-in-a-sorted-array/

          You?are?given?a?sorted?array?consisting?of?only?integers?where?every?element?appears?exactly?twice,?except?for?one?element?which?appears?exactly?once. Return?the?single?element?that?appears?only?once.

          Your?solution?must?run?in?O(log?n)?time?and?O(1)?space.


          給你一個僅由整數(shù)組成的有序數(shù)組,其中每個元素都會出現(xiàn)兩次,唯有一個數(shù)只會出現(xiàn)一次。
          請你找出并返回只出現(xiàn)一次的那個數(shù)。
          你設(shè)計的解決方案必須滿足 O(log n) 時間復(fù)雜度和 O(1) 空間復(fù)雜度。

          示例? ? ? ? ? ? ? ? ? ? ? ? ?


          示例 1:

          輸入: nums = [1,1,2,3,3,4,4,8,8]
          輸出: 2

          示例 2:

          輸入: nums = [3,3,7,7,10,11,11]
          輸出: 10


          解題

          看到"有序數(shù)組", “ O(log n)時間復(fù)雜度和 O(1)空間復(fù)雜度”,就應(yīng)該想到“二分搜索法”。代碼如下:

          class?Solution?{
          ????public?int?singleNonDuplicate(int[] nums)?{
          ???int?left = 0;
          ????????int?right = nums.length - 1;
          ????????while?(left < right){
          ????????????int?mid = left + (right - left) / 2;
          ????????????if?(nums[mid] == nums[mid + 1]){ // 和u右邊相等
          ????????????????int?c = mid - left; //mid左邊個數(shù)
          ????????????????if?(c%2?== 0){ // 偶數(shù)個
          ????????????????????left = mid + 2;
          ????????????????}else{
          ????????????????????right = mid - 1;
          ????????????????}
          ????????????}else?if?(nums[mid] == nums[mid - 1]){
          ????????????????int?c = right - mid; // mid右邊個數(shù)
          ????????????????if?(c%2?== 0){ // 偶數(shù)個,說明在左邊
          ????????????????????right = mid - 2;
          ????????????????}else{ // 奇數(shù)個,說明在右邊
          ????????????????????left = mid + 1;
          ????????????????}
          ????????????}else{ // 1,1,2,3,3, 不等于右邊,也不等于右邊,直接返回
          ????????????????return?nums[mid];
          ????????????}
          ????????}

          ????????return?nums[left];
          ????}
          }


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

          上期推文:
          LeetCode1-520題匯總,希望對你有點幫助!
          LeetCode刷題實戰(zhàn)521:最長特殊序列 Ⅰ
          LeetCode刷題實戰(zhàn)522:最長特殊序列 II
          LeetCode刷題實戰(zhàn)523:連續(xù)的子數(shù)組和
          LeetCode刷題實戰(zhàn)524:通過刪除字母匹配到字典里最長單詞
          LeetCode刷題實戰(zhàn)525:連續(xù)數(shù)組
          LeetCode刷題實戰(zhàn)526:優(yōu)美的排列
          LeetCode刷題實戰(zhàn)527:單詞縮寫
          LeetCode刷題實戰(zhàn)528:按權(quán)重隨機選擇
          LeetCode刷題實戰(zhàn)529:掃雷游戲
          LeetCode刷題實戰(zhàn)530:二叉搜索樹的最小絕對差
          LeetCode刷題實戰(zhàn)531:孤獨像素 I
          LeetCode刷題實戰(zhàn)532:數(shù)組中的K-diff數(shù)對
          LeetCode刷題實戰(zhàn)533:孤獨像素 II
          LeetCode刷題實戰(zhàn)534:游戲玩法分析 III
          LeetCode刷題實戰(zhàn)535:TinyURL 的加密與解密
          LeetCode刷題實戰(zhàn)536:從字符串生成二叉樹
          LeetCode刷題實戰(zhàn)537:復(fù)數(shù)乘法
          LeetCode刷題實戰(zhàn)538:把二叉搜索樹轉(zhuǎn)換為累加樹
          LeetCode刷題實戰(zhàn)539:最小時間差


          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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网区 | 国产欧美精品久久 | 屁屁网站| 国产激情在线 | 大鸡巴在线观看视频 |