刷題筆記 2020 06 06

2021-10-06 21:31:21 字數 2000 閱讀 9046

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。

分析:之前做過這道題,這次做的第乙個想法和之前一樣,首先要將數字轉成字串,然後比較字串的大小,而且比較的結果應該是「321」<「32」 && "32"<"3",或許我們可以這樣考慮「32」==「322」 && "3"=="33"。所以需要這樣判斷,當比較 「321」 與 「32」 時,他們的前兩個字元相等,而 「321」 的第三個字元小於 「32」 的第二個字元,於是我們得出「321」<「32」的結論。想法看起來十分複雜又難實現。

今天在紙上寫下「32132<32321」的時候,突然腦袋開竅。我們可以通過判斷str1+str2str2+str1的關係得到兩字串的大小啊!於是程式設計如下:

class

solution

string printminnumber

(vector<

int> numbers)

};

把只包含質因子2、3和5的數稱作醜數(ugly number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。

分析:最小的醜數是 1,並且除了 1 之外的所有醜數都是由其他醜數 *2 或 *3 或 *5 得到的。設定乙個醜數序列 ugly,每次找到乙個稍大的醜數就放進佇列,再設定三個指標 pos2、pos3、pos5,分別指向 2、3、5 三個數想要乘的醜數。下乙個新增進佇列的醜數是 ugly[pos2]*2、ugly[pos3]*3、ugly[pos3]*3 的最小值。如果新得到的醜數是由 2 乘之前某個醜數得到的,就把 pos2 指標移向下一位。

class

solution

return ugly[index-1]

;}};

在乙個字串(0<=字串長度<=10000,全部由字母組成)中找到第乙個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).(從0開始計數)

分析:奇怪的事情發生了——在牛客的編輯器上提示 unordered_map 是未宣告的 identifier,但是仍然能通過百分百的用例。

ps:本以為這道題有什麼神奇的解法呢。

class

solution

};

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數 p 。並將 p 對 1000000007 取模的結果輸出。 即輸出p % 1000000007。題目保證輸入的陣列中沒有的相同的數字,資料範圍:

對於%50的資料,size<=10^4

對於%75的資料,size<=10^5

對於%100的資料,size<=2*10^5

分析:歸併排序的應用

class

solution

else

}while

(i<=mid)

tmp[t++

]= data[i++];

while

(j<=r)

tmp[t++

]= data[j++];

for(i=

0; i<=r-l;

++i)

data[l+i]

= tmp[i];}

void

split_merge

(vector<

int>

& data, vector<

int>

& tmp,

int l,

int r,

int& ret)

intinversepairs

(vector<

int> data)

};

刷題筆記 Binary watch

include include include using namespace std class solution m count push back i for int i 0 i num i vector a n,n 5 將陣列n的前5個元素作為向量a的初值 vector a n 1 n 4 ...

2018 4 11刷題筆記

classa newa newa newa echo a num 答案是3 因為static變數常駐記憶體 server 是乙個包含了諸如頭資訊 header 路徑 path 以及指令碼位置 script locations 等等資訊的陣列。這個陣列中的專案由 web 伺服器建立。不能保證每個伺服器...

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...