用JS在牛客網華為機試上碰到的一些坑

2021-09-21 18:07:43 字數 522 閱讀 5078

以前都是用c語言硬剛,發現不僅僅是時間上吃虧,因為很多排序搜尋演算法都要自己寫,而且在處理輸入的時候也經常出現問題,現在改用js後發現,在**編寫以及處理輸入上確實方便了很多,但還是會碰到一些坑。

這裡總結一些用js刷題時應有的習慣

1.先弄清楚題目的輸入到底應該是單行輸入還是多行輸入,有些題的樣例雖然用的一行作為樣例,但實際上卻是兩行

而有些題剛好相反,用的兩行的作為樣例但實際上只用一次readline,然後用split分開就行了

這種情況下,最好的處理方式是,先將輸入處理好,提交看輸出正不正常。然後再寫邏輯**。

2.一般情況下,在輸入處理好之後,後面的**正常操作就不會有大問題了,但還會有些特殊情況。

有時候,前面雖然輸入的處理結束了,但有可能出現這種情況,可能字串的首尾出現空格,這可能是在輸入處理時造成的,這些遺留下來的空格可能會導致後面的邏輯出現問題,我們可以用trim()函式對字串進行處理,消除字串首尾的空格符

暫時碰到的問題就這些。

牛客網 華為機試 020 牛客網

密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 示例1 021abc9000 021abc9abc1 021abc9000 02...

牛客網 華為機試 009

輸入乙個int型整數,按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數。輸入描述 輸入乙個int型整數 輸出描述 按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數 示例1 9876673 37689 思路 維護乙個陣列或者vector長度為10,下標0 9代表取得數字,值代表是否已經輸出...

牛客網 華為機試 015

輸入乙個int型的正整數,計算出該int型資料在記憶體中儲存時1的個數。輸入乙個整數 int型別 這個數轉換成2進製後,輸出1的個數 示例1 5 2 思路一 利用十進位制轉二進位制的方法,統計1的個數。事實證明這種方法是大錯特錯了,因為效率不高且沒有考慮負數的情況,負數補碼,完全不能這麼計算 inc...