Skip to content

C/C++

LeetCode: 5-Longest Palindromic Substring 解題紀錄


題目

Given a string s, return the longest palindromic substring in s.

Example:

Input: s = "babad"
Output: "bab"
Note: "aba" is also a valid answer.

題目給定一個輸入字串,而我們要在這個字串中,找到最大的『回文子字串』。回文(palindromic)是什麼意思呢?就是即使字串顛倒過來也是相同的,就好比範例中的 bab 一樣,顛倒過來同樣是 bab

不過這題要求回傳的答案只要是任一最長的回文子字串即可,不需要回傳『全部』的答案,也算是某種程度的佛心來著?(雖說只要將最長的都記錄起來就行了

Read More »LeetCode: 5-Longest Palindromic Substring 解題紀錄

LeetCode: 6-ZigZag Conversion 解題紀錄


題目

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

P   A   H   N
A P L S I I G
Y   I   R

And then read line by line: "PAHNAPLSIIGYIR"

Write the code that will take a string and make this conversion given a number of rows:

string convert(string s, int numRows);

Example:

Input: s = "PAYPALISHIRING", numRows = 4
Output: "PINALSIGYAHRPI"
Explanation:
P     I    N
A   L S  I G
Y A   H R
P     I

這個題目給定輸入一個字串以及行高 numRows,我們將其重新排序成 Z 字型,並再次按照一行行的順序重新回傳字串。

也就是將這一字串重組。

Read More »LeetCode: 6-ZigZag Conversion 解題紀錄

[C++] STL 中的 deque 筆記

dequeC++ 標準模板函式庫Standard Template Library, STL)中的雙向佇列容器Double-ended Queue),跟 vector 相似,不過在 vector 中若是要添加新元素至開端,其時間複雜度為 O(N),但在 deque 中則是 O(1)。同樣地,也能在我們需要儲存更多元素的時候自動擴展空間,讓我們不必煩惱佇列長度的問題。

Read More »[C++] STL 中的 deque 筆記