原创 劍指offer 調整數組順序使奇數位於偶數前面

題目描述 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 解題思路:\color{blue}解題思路:解題思

原创 劍指offer 變態跳臺階

題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解題思路:\color{blue}解題思路:解題思路: 在上一題 劍指offer 跳臺階,題目規定一步只能跨

原创 劍指offer 斐波那契數列

題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。n<=39 解題思路:\color{blue}解題思路:解題思路: 斐波拉契爾數列,遞推式f(n) = f(n - 2

原创 PAT頂級(Top Level)練習題 LUCKY STRING

題目描述 A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a stri

原创 劍指offer 二維數組中的查找

題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 解題思路:\color{b

原创 劍指offer 替換空格

題目描述 請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 解題思路:\color{blue}解題思路:解題思路: 這道

原创 劍指offer 從尾到頭打印鏈表

題目描述 輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList。 解題思路:\color{blue}解題思路:解題思路: 由於題目給定的是單鏈表,所以無法從尾端 --> 起始端訪問。 但是我們可以藉助棧實現元素的逆序輸出,

原创 PAT乙級(Basic Level)練習題 繼續(3n+1)猜想 (25)

題目描述 卡拉茲(Callatz)猜想已經在1001中給出了描述。在這個題目裏,情況稍微有些複雜。 當我們驗證卡拉茲猜想的時候,爲了避免重複計算,可以記錄下遞推過程中遇到的每一個數。例如對n=3進行驗證的時候,我們需要計算3、 5

原创 PAT乙級(Basic Level)練習題 成績排名 (20)

題目描述 讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。 輸入描述: 每個測試輸入包含1個測試用例,格式爲 第1行:正整數n 第2行:第1個學生的姓名 學號 成績 第3行:第2個學生的姓名 學號 成績

原创 PAT乙級(Basic Level)練習題 數組元素循環右移問題 (20)

題目描述 一個數組A中存有N(N&gt0)個整數,在不允許使用另外數組的前提下,將每個整數循環向右移M(M>=0)個位置,即將A中的數據由(A0 A1 ……AN-1 )變換爲(AN-M …… AN-1 A0 A1 ……AN-M-1

原创 PAT乙級(Basic Level)練習題 說反話 (20)

題目描述 給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。 輸入描述: 測試輸入包含一個測試用例,在一行內給出總長度不超過80的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小寫有區分)組成的字符串,

原创 PAT乙級(Basic Level)練習題 換個格式輸出整數 (15)

題目描述 讓我們用字母B來表示“百”、字母S表示“十”,用“12…n”來表示個位數字n(<10),換個格式來輸出任一個不超過3位的正整數。例如234 應該被輸出爲BBSSS1234,因爲它有2個“百”、3個“十”、以及個位的4。

原创 PAT乙級(Basic Level)練習題 我要通過!(20)

題目描述 “答案正確”是自動判題系統給出的最令人歡喜的回覆。本題屬於PAT的“答案正確”大派送 —— 只要讀入的字符串滿足下列條件,系統就輸出“答案正確”,否則輸出“答案錯誤”。 得到“答案正確”的條件是: 字符串中必須僅有P,

原创 PAT乙級(Basic Level)練習題 選大王

題目描述 有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接着從 1 開始報數。就這樣,直到圈內只剩下一隻猴子時,這個猴子就是猴王。 現在告訴你 n 和 m,

原创 PAT乙級(Basic Level)練習題 害死人不償命的(3n+1)猜想 (15)

題目描述 卡拉茲(Callatz)猜想: 對任何一個自然數n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把(3n+1)砍掉一半。這樣一直反覆砍下去,最後一定在某一步 得到n=1。卡拉茲在1950年的世界數學家大會上公佈了這