牛客網 華為機試訓練-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 就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相等的...