![4646598ce4f12f0f484da18acbd83813.png](en-resource://database/11364:1)
![1226f6e4e21ed6df41356aa6e9e857c0.png](en-resource://database/11366:1)
遇到難度較大的題目的解題步驟
**1. 找規律**
從輸入輸出的關係來尋找規律
在題目中所給的案例中,按照順序將所有的輸入輸出寫出來(乙個輸入對應乙個輸出)
![019f877d62a59f95028863f3deaaf7cb.png](en-resource://database/11368:1)
從圖中的輸入輸出可以看出
第乙個輸出是對輸入從0位開始找子串
第二個輸出是對輸入從1位開始重複找子串
第三個輸出是對輸入從2位開始重複找子串
....
由於輸入是動態的,而且還是有規律的,每次都是往後移動一位,所以使用for迴圈或者遞迴來解決問題
由於每次都是重複找子串,所以找子串是乙個公共行為,可以將其抽出來
通過以上分析可以得出程式的編寫分為兩步:
1:外層迴圈控制每次輸入從第幾位開始
2:尋找子串
2.1 尋找子串
2.2 將子串儲存並輸出
![df153cdd0deefa315333986462be95b1.png](en-resource://database/11370:1)
**如下:
function substr(str) $)`)
if (reg.test(str)) else
}// 1. 先寫出迴圈偽**
外層的for迴圈控制第乙個查詢點的位置
// 因為從前面的分析中每次迴圈都是往右移動一位的,具有重複性,所以使用遞迴或者for迴圈
for (let i = 0, len = str.length - 1; i < len; i ++) }
return r
}console.log(substr('00110011'))
計算二進位制字串
題目描述 給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01...
字串與二進位制
單引號字串會被表示成整數值列表。c返回字元 c 的整數編碼。下面這個例子用於解析字元列表表示法,該表示法用於表示乙個任意的有符號的十進位制資料。defmodule parse do def number tail do number digits tail,0 1 enddef number tai...
字串和二進位制字串問題以及讀寫二進位制檔案
一般針對字串使用cstring和char cstring沒有長度限制,但字串以 0 為結束標誌。故要對二進位制字串進行操作,則不能使用cstring,而要用cbytearray和char。關於cstring 1 是actual字串,而不是字串指標,不需要在定義的時候指定長度 2 該類過載了 等運算子...