牛客網 華為機試 020 牛客網

2021-08-03 15:31:48 字數 756 閱讀 9669

密碼要求:

1.長度超過8位

2.包括大小寫字母.數字.其它符號,以上四種至少三種

3.不能有相同長度超2的子串重複

說明:長度超過2的子串

一組或多組長度超過2的子符串。每組佔一行

如果符合要求輸出:ok,否則輸出ng

示例1

021abc9000

021abc9abc1

021abc9000

021$bc9000

ok

ngng

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 ...