ETH官方钱包

前往
大廳
主題

LeetCode - 2396. Strictly Palindromic Number 解題心得

Not In My Back Yard | 2023-07-25 12:00:01 | 巴幣 0 | 人氣 191

題目連結(jié):


題目意譯:
一個整數(shù) n 如果滿足對於每個 b 進(jìn)位制(b 介於 2(含)到 n - 2(含)之間),整數(shù) n 於該進(jìn)位制下之字串表示法皆為迴文,則此數(shù)將是「嚴(yán)格迴文」。

給定一整數(shù) n,如果 n 是嚴(yán)格迴文則回傳真(True);反之,則回傳假(False)。

一個字串如果從左至右和從右至左讀都一樣,則為一個迴文。

限制:
4 ≦ n ≦ 10 ^ 5



範(fàn)例測資:
範(fàn)例 1:
輸入: n = 9
輸出: false
解釋: 在 2 進(jìn)位制中:9 = 1001(2 進(jìn)位),其為一個迴文。
在 3 進(jìn)位制中:9 = 100(3 進(jìn)位),其不是一個迴文。
因此,9 不是一個嚴(yán)格迴文,所以我們回傳假。
注意到在 4 、 5 、 6 和 7 進(jìn)位制中,n = 9 也不是迴文。

範(fàn)例 2:
輸入: n = 4
輸出: false
解釋: 我們只考慮 2 進(jìn)位制:4 = 100(2 進(jìn)位),其並非一個迴文。
因此我們回傳假。


解題思維:
這樣的數(shù)字不存在。就是這麼單純。

證明也很單純:
假設(shè)存在一個嚴(yán)格迴文數(shù)字 x。則根據(jù)定義 x 必須滿足在 x - 2 進(jìn)位制下為一個迴文。而我們試圖把 x 轉(zhuǎn)成 x - 2 進(jìn)位制可以發(fā)現(xiàn)該數(shù)必定以
100…002
之形式出現(xiàn)。而該數(shù)字字串並非迴文。除非 x = 4,在此例下該字串為 100,同樣也不是迴文。證畢。

因此我們可以直接回傳假,因?yàn)椴豢赡艹霈F(xiàn)真的情況。




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

創(chuàng)作回應(yīng)

追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

相關(guān)創(chuàng)作

更多創(chuàng)作