密碼要求:
1.長度超過8位
2.包括大小寫字母.數字.其它符號,以上四種至少三種
3.不能有相同長度超2的子串重複
說明:長度超過2的子串
一組或多組長度超過2的子符串。每組佔一行
如果符合要求輸出:ok,否則輸出ng示例1
021abc9000021abc9abc1
021abc9000
021$bc9000
okngng
ok
思路一:按部就班乙個乙個要求來驗證,驗證有沒有長度超過3的重複子串只要驗證有沒有長度為3的子串。可以利用sub_str,find函式來實現,也可以兩層for迴圈比較連續3個字元是否相等
#include #include #include #include using namespace std;
bool judge(string str);
for(auto it = str.cbegin(); it != str.cend(); ++it)
if(flag[0]+flag[1]+flag[2]+flag[3]<3)
return false;
for(int i = 0; i < str.size()-6; i++)
return true;
}int main()
}
牛客網 華為機試 009
輸入乙個int型整數,按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數。輸入描述 輸入乙個int型整數 輸出描述 按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數 示例1 9876673 37689 思路 維護乙個陣列或者vector長度為10,下標0 9代表取得數字,值代表是否已經輸出...
牛客網 華為機試 015
輸入乙個int型的正整數,計算出該int型資料在記憶體中儲存時1的個數。輸入乙個整數 int型別 這個數轉換成2進製後,輸出1的個數 示例1 5 2 思路一 利用十進位制轉二進位制的方法,統計1的個數。事實證明這種方法是大錯特錯了,因為效率不高且沒有考慮負數的情況,負數補碼,完全不能這麼計算 inc...
牛客網 華為機試 017
開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a yad ...