C 牛客網程式設計踩坑記錄

2021-10-01 22:43:14 字數 649 閱讀 6780

「不通過 您的**已儲存 段錯誤:您的程式發生段錯誤,可能是陣列越界,堆疊溢位(比如,遞迴呼叫層數太多)等情況引起

case通過率為0.00%」

老是碰到這樣的報錯,每次出現的問題也不一樣,記錄下來,持續更新。

參考:c++ || && 邏輯短路問題

deque qi;

while

((num[qi.back(

)] <= num[i])

&& qi.size(

))

這句話這麼寫就會報上述錯誤,而將邏輯與兩端的調換一下就沒有問題了。

這是因為當邏輯與前方的語句判斷為0時,就會直接跳過,而不去執行後半段語句,如果qi為空的話,上述的語句就會因為取qi.back()下標越界而報錯,如果調換之後由於短路效應,先判斷了qi.size()從而當qi為空時直接跳過後半句而不會報錯。

正確寫法:

while(qi.size()&&

(num[qi.back()]

<= num[i]

))

牛客網程式設計記錄2020 03 21 12

牛客網 華為機試訓練 12題目描述寫出乙個程式,接受乙個字串,然後輸出該字串反轉後的字串。字串長度不超過1000 輸入n個字元,輸出該字串反轉後的字串。示例 輸入 abcd 輸出 dcba 思路 使用getline 函式獲取輸入,用length 函式得到輸入長度,再反向輸出。使用getline 函式...

牛客網程式設計記錄2020 03 31 13

牛客網 華為機試訓練 13題目描述將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元。將乙個英文語句以單詞為單位逆序排放。示例 輸入 i am a boy 輸出 boy a am i ...

程式設計踩坑記錄

1,stl中的一些庫,比如map,unordered map,不要在遍歷迴圈中做刪除erase操作,該操作是乙個undefined operation unordered mapobject.for auto item object 但可以用迭代器來處理 for auto iter object.b...