前往
大廳
主題

LeetCode - 1016. Binary String With Substrings Representing 1 To N 解題心得

Not In My Back Yard | 2024-03-26 18:00:08 | 巴幣 0 | 人氣 38

題目連結:


題目意譯:
給定一個二元字串 s 以及一正整數 n,如果 [1, n] 這個範圍中所有整數的二進位表示法都有作為其子字串出現於 s 中,則回傳真(True);反之,則回傳假(False)。

一個子字串為在一字串中的一個連續字元序列。

限制:
1 ≦ s.length ≦ 1000
s[i] 只會是 '0' 或是 '1'。
1 ≦ n ≦ 10 ^ 9



範例測資:
範例 1:
輸入: s = "0110", n = 3
輸出: true

範例 2:
輸入: s = "0110", n = 4
輸出: false


解題思維:
直接窮舉 [1, n] 每一個數字的二進位表示法並在 s 中尋找即可。

因為 n 一旦大到某個數值以上,就絕對不可能會出現 [1, n] 中每個數字都存在於 s 中。該數值約為 1000 左右(實際上的真正數值我不知道)。




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

創作回應

更多創作