<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刷題實(shí)戰(zhàn)409:最長回文串

          共 897字,需瀏覽 2分鐘

           ·

          2021-10-17 08:46

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

          今天和大家聊的問題叫做?最長回文串,我們先來看題面:
          https://leetcode-cn.com/problems/longest-palindrome/

          Given a string s which consists of lowercase or uppercase letters, return the length of the longest palindrome that can be built with those letters.


          Letters are case sensitive, for example, "Aa" is not considered a palindrome here.


          給定一個(gè)包含大寫字母和小寫字母的字符串,找到通過這些字母構(gòu)造成的最長的回文串。
          在構(gòu)造過程中,請注意區(qū)分大小寫。比如 "Aa" 不能當(dāng)做一個(gè)回文字符串。
          注意:
          假設(shè)字符串的長度不會(huì)超過 1010。

          示例


          輸入:
          "abccccdd"
          輸出:
          7
          解釋:
          我們可以構(gòu)造的最長的回文串是"dccaccd", 它的長度是 7


          解題


          思路:
          找到最長的回文串實(shí)際是找到一個(gè)出現(xiàn)次數(shù)為奇數(shù)的字母,和所有出現(xiàn)次數(shù)為偶數(shù)的字母。
          因此先建數(shù)組統(tǒng)計(jì)每個(gè)字母出現(xiàn)的次數(shù),如果該字母出現(xiàn)次數(shù)為偶數(shù),則加入回文串中。
          如果最后回文串長度小于原字符串長度,則有字母出現(xiàn)次數(shù)為奇數(shù),回文串長度加1。


          class?Solution?{
          ????public?int?longestPalindrome(String s)?{
          ????????int[] count = new?int[58];
          ????????for?(int?i=0;i????????????count[s.charAt(i)-'A']++;
          ????????int?ans = 0;
          ????????for?(int?j:count)
          ????????????ans+=(j/2)*2;
          ????????if?(ans < s.length())
          ????????????ans++;
          ????????return?ans;
          ????}
          }



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

          上期推文:

          LeetCode1-400題匯總,希望對你有點(diǎn)幫助!

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

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

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

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

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

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

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

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


          瀏覽 24
          點(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>
                  欧美综合精品 | 国内自拍叭叭叭 | 黄色成人在线免费 | 老司机福利在线视频 | 日韩AV三级在线观看 |