這一題可使用STL的map來建立一個hast table來解決問題
首先可以將每個陣列先排序,並將排序後的結果當成index
// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index value(人數)
// ----------------------------------------
// 100101102103488 1
// 100101102200300 2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index value(人數)
// ------------------------------------------
// 100200300400444 1
// 123234321345456 1
// 200202204206208 1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
這一題可使用STL的map來建立一個hast table來解決問題
首先可以將每個陣列先排序,並將排序後的結果當成index
// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index value(人數)
// ----------------------------------------
// 100101102103488 1
// 100101102200300 2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index value(人數)
// ------------------------------------------
// 100200300400444 1
// 123234321345456 1
// 200202204206208 1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
原來題意是這樣 3Q
這一題可使用STL的map來建立一個hast table來解決問題
首先可以將每個陣列先排序,並將排序後的結果當成index
// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index value(人數)
// ----------------------------------------
// 100101102103488 1
// 100101102200300 2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index value(人數)
// ------------------------------------------
// 100200300400444 1
// 123234321345456 1
// 200202204206208 1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
原來題意是這樣 3Q
請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問
這一題可使用STL的map來建立一個hast table來解決問題
首先可以將每個陣列先排序,並將排序後的結果當成index
// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index value(人數)
// ----------------------------------------
// 100101102103488 1
// 100101102200300 2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index value(人數)
// ------------------------------------------
// 100200300400444 1
// 123234321345456 1
// 200202204206208 1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
原來題意是這樣 3Q
請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問
轉成string 串起來
map<string, int>
這一題可使用STL的map來建立一個hast table來解決問題
首先可以將每個陣列先排序,並將排序後的結果當成index
// 假如排序完後arr的元素變為 100 200 300 400 500
// 我們把這5個整數看成一個大整數 100200300400500
// 並在hash table的第 100200300400500 index中記錄值+1
//
//
// ex1.
// 假設 n = 3,其3個排序後的陣列值如下
// 100 101 102 103 488 其index為 100101102103488
// 100 101 102 200 300 其index為 100101102200300
// 100 101 102 103 488 其index為 100101102103488
// 所以hash table為
// ----------------------------------------
// index value(人數)
// ----------------------------------------
// 100101102103488 1
// 100101102200300 2
// ----------------------------------------
// 所以value值最大為2 (只有一個紀錄的value值為2,代表只有一個課程為最受歡迎課程組合)
// 所以最受歡迎課程組合的總人數為 2x1=2
//
//
//
// ex2.
// 假設 n = 3,其3個排序後的陣列值如下
// 200 202 204 206 208 其index為 200202204206208
// 123 234 321 345 456 其index為 123234321345456
// 100 200 300 400 444 其index為 100200300400444
// 所以hash table為
// ------------------------------------------
// index value(人數)
// ------------------------------------------
// 100200300400444 1
// 123234321345456 1
// 200202204206208 1
// ------------------------------------------
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
原來題意是這樣 3Q
請問排序完要如何將五個數是惟一個大數呢?
我在建立Hash Table的 index時遇到這個疑問
轉成string 串起來
map<string, int>
原來String 可以直接用相加的方式串起來@@
感謝大神
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
這題目的問法真是令人讚嘆。
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
這題目的問法真是令人讚嘆。
真的看不懂題目想表達什麼,若有3個學生,全部人選一樣會是3;全部人選不一樣也是3?
// 所以value最大值為1 (有3個紀錄的value值為1,代表3個課程都是最受歡迎課程組合)
// 總所以最受歡迎課程組合的總人數為 1x3=3
這題目的問法真是令人讚嘆。
真的看不懂題目想表達什麼,若有3個學生,全部人選一樣會是3;全部人選不一樣也是3?
假如有 3 個學生
A 選 1 3 2
B 選 1 2 3
C 選 2 5 8
把所有人的選擇先排序
可見 1 2 3 有 2 個人選。
為最熱門。