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

2021-10-04 15:25:26 字數 1136 閱讀 7900

牛客網 華為機試訓練-13
題目描述將乙個英文語句以單詞為單位逆序排放。例如「i am a boy」,逆序排放後為「boy a am i」

所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元。

將乙個英文語句以單詞為單位逆序排放。

示例

輸入:i am a boy

輸出:boy a am i

思路

使用string型別的字串儲存陣列。定義等長的char字串,從後向前檢測,當發現空格時將空格後到下個空格(或是結尾)的內容存入char字串,並且每輸入乙個單詞就加乙個空格,最後乙個單詞輸入後不加空格。

**實現

#include

#include

using

namespace std;

intmain()

}//將第乙個單詞單獨存入

for(

int i =

0; i < length; i++

)//輸出char字串

for(

int j =

0; j < length; j++

)delete

arr;

return0;

}

執行結果

總結

時間複雜度:僅對陣列進行了一次遍歷(且沒有回溯),故時間複雜度為o(n)。

空間複雜度:多開闢了等長的空間,故空間複雜度為o(n)。

資料儲存結構:使用string型別儲存陣列時,可以實現不定長輸入,而且能實現隨機儲存,還有「.length()」函式用於獲取輸入長度。由於輸入的是英文單詞,故使用char型別的字串來儲存轉化後的值。綜上,本段程式使用string型別獲取輸入,char*型別儲存轉換後的輸入。

tips

以後總結的格式為:時間複雜度、空間複雜度、選擇資料儲存結構的分析。

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

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

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

不通過 您的 已儲存 段錯誤 您的程式發生段錯誤,可能是陣列越界,堆疊溢位 比如,遞迴呼叫層數太多 等情況引起 case通過率為0.00 老是碰到這樣的報錯,每次出現的問題也不一樣,記錄下來,持續更新。參考 c 邏輯短路問題 deque qi while num qi.back num i qi.s...

牛客網程式設計2

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1 是該壓棧序列對應的乙個彈出序列,但 4,3,5,1,2 就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的...