ETH官方钱包

切換
舊版
前往
大廳
主題

ZeroJudge - e543: 00401 - Palindromes 解題心得

Not In My Back Yard | 2019-11-24 23:24:28 | 巴幣 0 | 人氣 388

題目連結:


題目大意:
題目包含多筆測試資料,每筆佔一列輸入。每列給定一個字串,試問它是否為鏡像字串或是迴文字串?

鏡像字串代表一個字串水平翻轉後看起來是類似的。以下是給定的字串會出現的對照表:

 
所以像是 3AIAE 是一個鏡像字串,OAO 也是。

輸出格式為:先輸出字串本身的內容並接著「 -- 」。而如果一個字串是鏡像也是迴文字串,請輸出「is a mirrored palindrome.」;若只是鏡像字串,請輸出「is a mirrored string.」;若是迴文字串則輸出「is a regular palindrome.」;如果皆非則輸出「is not a palindrome.」。

每筆輸出之間以一列空白列隔開。



範例輸入:
NOTAPALINDROME
ISAPALINILAPASI
2A3MEAS
ATOYOTA


範例輸出:
NOTAPALINDROME -- is not a palindrome.

ISAPALINILAPASI -- is a regular palindrome.

2A3MEAS -- is a mirrored string.

ATOYOTA -- is a mirrored palindrome.


解題思維:
迴文字串的判斷很簡單,由左掃到右跟從右掃到左看起來一樣的話就是迴文。

類似地,鏡像字串也可這麼做,只是在判斷是否相等時其中一者要經過對照表轉換成鏡像的字元。如果有字元找不到鏡像,那該字串必定不是鏡像字串。

比較麻煩的就是要先建出鏡像字元的對照表。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
追蹤 創作集

作者相關創作

更多創作