iT邦幫忙

0

leetcode 003 題網路解法疑問

  • 分享至 

  • xImage

as title

解法網址:https://books.halfrost.com/leetcode/ChapterFour/0001~0099/0003.Longest-Substring-Without-Repeating-Characters/

這題我有解出來,不過看了這個網址的解法有些疑問

  1. 解法1的 var bitSet [256]bool 為什麼是256?
  2. 解法2的 var freq [127]int 為什麼是127?

有時候看了網路上的解法突然覺得自己寫程式好像菜雞==

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
iT邦新手 1 級 ‧ 2023-05-30 16:27:02
最佳解答

嗨~

簡單提一下我的想法:

我認為需要從題目的這句話下手:

s consists of English letters, digits, symbols and spaces.

WIKI Unicode字元列表來看,這句話可能可以理解成只要「基本拉丁字母」的部分,這部分有 95 個。
但是感覺 symbols 有點難定義,可能每個人心中會有不同理解?

但是我認為不管他怎麼理解這句話,解法一跟二,同一個人應該會用一樣的數字,
所以我認為這個文章的解法,可能是兩個不同人寫的。

whitefloor iT邦研究生 2 級 ‧ 2023-05-30 17:39:23 檢舉

這我有去問過作者,他只是用string轉btyes跟int去處理index的
基本上解法沒啥差別,最後這個空間也可以繼續擴大,只是沒必要
所以這空間只要夠用就好,多少是沒差的,後來就沒繼續糾結了,這部分確實如你所說
剛剛去實驗了一下只要用字串指定某個index叫出來的字元一定是byte
印出來一個"a"會發現十進位是97,剛好對印到ASCII表

我要發表回答

立即登入回答