leetcode 面試題01 04 回文字串

2021-10-10 15:47:45 字數 830 閱讀 1908

題目:

分析:

根據回文字串的特點只需要滿足字串中各個相同字母的個數為偶數或者只有乙個奇數,其他都為偶數

步驟:

1、 定義乙個雜湊表,

2、統計各個字母的頻率

3、定義乙個陣列,將頻率放入陣列內

4、統計陣列裡面奇數和偶數的個數

5、如果奇數個數為1,返回true;如果奇數個數為0,且偶數的個數不為0,返回true;否則就返回false

bool

canpermutepalindrome

(string s)

vector<

int>vec;

for(

auto kv : maap)

int num=0;

//計數個數

int numt=0;

for(

int i=

0;isize()

;i++)if

(num==1)

else

if(num==

0&&numt!=0)

//考慮只有偶數個的情況

return

true

;else

return

false;}

優化:bool

canpermutepalindrome

(string s)

int count=0;

for(

auto kv : maap)

}return

true

;}

leetcode 面試題專題

面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。利用歸併排序,將陣列分成兩部分,前面一部分和後面一部分,進行歸併的時候,需要比較兩個陣列的數值大小,如果第二個陣列的值小的話,代表前乙個陣列剩下的都...

位元組面試題 leetcode

給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...

leetcode面試題 08 11 硬幣

硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1 示例2 輸入 n 10 輸出 4 解釋 有四種方式可以湊成總金額...