1. 程式人生 > >掌閱科技2019筆試題

掌閱科技2019筆試題


一個強密碼應滿足以下所有條件:

  1. 由至少6個,至多20個字元組成;
  2. 至少包含一個小寫字母,一個大寫字母,和一個數字;
  3. 同一個字元不能連續出現三次(比如"…aaa…"是不允許的,但“…aa…a…”是可以的)

編寫函式strongPasswordChecker(s),s代表輸入字串,如果s已經符合強密碼條件,則返回0;否則返回要將s修改為滿足強密碼條件的字串所需要進行修改的最小步數。插入、刪除、替換任意字元都算作一次修改。


用你最熟悉的語言使用一個相對高效的演算法,從給定的一個大小為1M左右的long型陣列中篩選出前10名最大的數。
int[ ] top10(int[] inputs);


現有一個m*n的陣列,請按照斜對齊列印陣列。例如一個a[3][4]的陣列。
1 2 3 4
5 6 7 8
9 8 7 6
應按照1,2,3,4,5,6,7,8,9,8,7,6的順序列印陣列。


請使用你最擅長的語言實現簡易的hash表。鍵值都是整數,使用開放地址和開鏈地址都可以。不考慮擴容,不考慮執行緒的安全性,不要使用特定語言內建的高階資料結構。