原创 小米OJ上分日誌——(十六)棧實現四則運算

序號:#16 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 實現一個算法,可以進行任意非負整數的加減乘除組合四則運算。 請注意運算符的優先級。 輸入 請輸入一行算式,使用空格分隔數字與運算符。 數字爲任意非負整數,運算

原创 小米OJ上分日記——(十三)出現頻率最高的前 K 個元素

序號:#13 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 有一個不爲空且僅包含正整數的數組,找出其中出現頻率最高的前 K 個數,時間複雜度必須在 O(n log n) 以內。 輸入 一行數據包括兩部分,一個正整數數組

原创 小米OJ上分日誌——(十五)和爲零的三元組

序號:#15 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 給出一個整數數組, 數組中是否存在任意 3 個數 a, b, c 滿足 a + b + c = 0? 找出數組中所有滿足以上條件的三元組,最後輸出這些三元組的

原创 小米OJ上分日誌——(十二)找出可能的合的組合

序號:#12 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 給出一組不重複的正整數,從這組數中找出所有可能的組合使其加合等於一個目標正整數 M,如: 一組數爲 1, 2, 3,目標數爲 4,那麼可能的加合組合爲: 1,

原创 小米OJ上分日記——(十四) 在一個有序的經過旋轉的數組裏查找一個數

序號:#14 難度:一般 時間限制:1000ms 內存限制:10M 描述 假設一個有序的數組,經過未知次數的旋轉(例如0 1 2 4 5 6 7 被旋轉成 4 5 6 7 0 1 2),從中查找一個目標值,如果存在,返回其下標,不存在

原创 小米OJ上分日誌——(十一)構建短字符串

序號:#11 難度:一般 時間限制:1000ms 內存限制:10M 描述 給定任意一個較短的子串,和另一個較長的字符串,判斷短的字符串是否能夠由長字符串中的字符組合出來,且長串中的每個字符只能用一次。 輸入 一行數據包括一個較短的字

原创 小米OJ上分日記——(九)移除 K 位得到最小值

序號:#9 難度:困難 時間限制:500ms 內存限制:10M 描述 有一行由 N 個數字組成的數字字符串,字符串所表示的數是一正整數。移除字符串中的 K 個數字,使剩下的數字是所有可能中最小的。 假設: 字符串的長度一定大於等於 K

原创 小米OJ上分日誌——(八)最少交換次數

序號:#8 難度:非常難 時間限制:1000ms 內存限制:10M 描述 給出一個無序數列,每次只能交換相鄰兩個元素,求將原數列變成遞增數列的最少交換次數。 如:數列:2,3,1,交換3和1後變成:2,1,3;交換1和2之後變成:1,

原创 小米OJ上分日誌——(六)交叉隊列

序號:#6 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 給出三個隊列 s1,s2,s3 ,判斷 s3 是否是由 s1 和 s2 交叉得來。 如:s1 爲 aabcc , s2 爲 dbbca。 當 s3 爲 aadb

原创 小米OJ上分日誌——(七)第一個缺失正數

序號:#7 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 給出一個無序的數列,找出其中缺失的第一個正數,要求複雜度爲 O(n) 如:[1,2,0],第一個缺失爲3。 如:[3,4,-1,1],第一個缺失爲2。 輸入 1

原创 小米OJ上分之旅——(十)爬樓梯

序號:#10 難度:一般 時間限制:1000ms 內存限制:10M 描述 在你面前有一個n階的樓梯,你一步只能上1階或2階。 請問計算出你可以採用多少種不同的方式爬完這個樓梯。 輸入 一個正整數,表示這個樓梯一共有多少階 輸出 一個正

原创 小米OJ上分之旅——(五)找出旋轉有序數列的中間值

序號:#5 難度:一般 時間限制:1000ms 內存限制:10M 描述 給出一個有序數列隨機旋轉之後的數列,如原有序數列爲:[0,1,2,4,5,6,7] ,旋轉之後爲[4,5,6,7,0,1,2]。 假定數列中無重複元素,且數列長度

原创 小米OJ上分之旅——(一)A+B

序號:#1 難度:一般 時間限制:2000ms 內存限制:128M 描述: 和所有的 OJ 平臺一樣,第一題作爲熱身題,也是送分題:給出兩個非負數 aa 和 bb,輸出 a+ba+b 的結果。 輸入 包含兩個非負數 aa 和 bb,以

原创 小米OJ上分之旅——(四)最長連續數列

序號:#4 難度:困難 時間限制:1000ms 內存限制:10M 描述 輸入一個亂序的連續數列,輸出其中最長連續數列長度,要求算法複雜度爲 O(n) 。 輸入 54,55,300,12,56 輸出 3 輸入樣例 100,4,200

原创 小米OJ上分之旅——(二)找出單獨出現的數字

序號:#2 難度:有挑戰 時間限制:1000ms 內存限制:10M 描述 給出N個數字。其中僅有一個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。 輸入 輸入多個數字,每個數字以空格