[問題] 三題演算法的問題
大家好
剛剛考完Codility~
小弟沒什麼接觸資結/演算法 (最多就是zerojudge 寫寫很簡單的題目 囧)
總之應該是爆了 只會一題也不見得是最佳解
一. Email字串處理
輸入email(S)和網域名(C)
Function(S,C)
S=["aa bb cc; xx yy z-z; aa bb; aa bx cc"]
C=["test"]
輸出結果大概會是(這裡舉例有4條測資)
"cc_aa_b@test.com"
"zz_xx_y@test.com"
"bb_aa@test.com"
"cc_aa_b2@test.com"
1.全部都要變成小寫
2.輸出順序為 第3+第1+第2 或是 第2+第1
3.有三個名字的 第三個有減號要消去合併 (只有兩個名字的...沒考慮到...)
4.有三個名字的 最後那一個名字取開頭
5.以上條件達成 但還是相同的話 後面加上編號
勉強算是解了...
二. 搭電梯問題
要算出電梯總共停幾次 (最後還要加上回到地面的1次)
有一群人要搭電梯 按照順序進入電梯/離開電梯
(可能後面的人已經到達想要的樓層但不能出去 因為前面還有人沒出去)
Function(A,B,M,X,Y)
A=這些人的體重
B=這些人想要去的樓層 (直接對應A)
M=最大樓層數
X=電梯最大容納人數
Y=電梯最大容量體重
M=5 X=2 Y=200
A[0] = 60 B[0] = 2
A[1] = 80 B[1] = 3
A[2] = 40 B[2] = 5
先載0,1 上2樓,3樓 停2次
回到地面 停1次
再載2 上5樓 停1次
再回到地面 停1次
答案 總共5次
M=3 X=5 Y=200
A[0] = 40 B[0] = 3
A[1] = 40 B[1] = 3
A[2] = 100 B[2] = 2
A[3] = 80 B[3] = 2
A[4] = 20 B[4] = 3
載0,1,2 上3樓 停1次 (電梯裡剩2號)
到2樓 停1次 (2號走出)
到地面 停1次
載3,4 上2樓 上3樓 停2次
到地面 停1次
答案 總共6次
完全沒有頭緒...測資應該會有上有下的 又有可能一次走出很多人
3. 字串比較問題
剛好有原文題目
https://munibsiddiqui.wordpress.com/2016/11/14/codility-ocr/
大概意思是
數字可以取代成任意字母 但數字代表字母的出現次數
"A2Le" 和 "2pL1" 擁有相同形式的字串比如 "Apple"
(A配上2個隨意字母+Le 和 2個隨意字母+pL+1個隨意字母 剛好"Apple"符合這2個條件)
"a10" 和 "10a" 也一樣 "asssssXXXXXa"很多種搭配方式
"ba1" 和 "1Ad" 剛好中間無法match 所以不可能有相同形式的字串
"3x2x" 和 "8" 左邊長度7 右邊長度8 也不可能有答案
我不知道怎麼去從字串中找出數字 因為可能會有一次2位數以上 一個一個比對又會誤判
以上都用Python解~
請大神解惑...
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.37.187
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1502600657.A.95A.html
推
08/13 13:34, , 1F
08/13 13:34, 1F
→
08/13 13:41, , 2F
08/13 13:41, 2F
→
08/13 14:58, , 3F
08/13 14:58, 3F
T公司應該沒機會了XD 現在開始要好好研讀相關書籍
第2題 應該是按照順序的(0,1,2,....) 不會有多種變化~
題目是懂啦 就是不知道怎麼去解阿 囧
而且第3題像這種的是怎麼去撈數字...有相關的API?
※ 編輯: gary771016 (36.230.37.187), 08/13/2017 15:53:44
→
08/13 16:00, , 4F
08/13 16:00, 4F
→
08/13 16:00, , 5F
08/13 16:00, 5F
推
08/13 16:08, , 6F
08/13 16:08, 6F
→
08/13 16:20, , 7F
08/13 16:20, 7F
→
08/13 16:20, , 8F
08/13 16:20, 8F
→
08/13 16:21, , 9F
08/13 16:21, 9F
疑 第3題 如果遇到 "a10"
這樣代表的是a+10個字母
一個一個對會變成 "1" "0" 是不是變成我還要判斷下一個是否為數字是的話再接下去
然後再把它變成完整的數字?
※ 編輯: gary771016 (36.230.37.187), 08/13/2017 16:26:33
※ 編輯: gary771016 (36.230.37.187), 08/13/2017 16:27:22
→
08/13 16:27, , 10F
08/13 16:27, 10F
→
08/13 16:31, , 11F
08/13 16:31, 11F
推
08/13 18:11, , 12F
08/13 18:11, 12F
→
08/13 23:06, , 13F
08/13 23:06, 13F
了解~
當下陷入沉思 沒跳脫出來 好可惜 冏
※ 編輯: gary771016 (36.230.37.187), 08/14/2017 00:17:23
推
08/16 06:58, , 14F
08/16 06:58, 14F
→
08/18 13:07, , 15F
08/18 13:07, 15F
推
09/16 14:48, , 16F
09/16 14:48, 16F
推
11/17 09:44, , 17F
11/17 09:44, 17F