今天下午參加 參加了杭州某公司的資料分析面試,其中有道題目很熟悉,但沒給出最佳答案。
分享一下:
資料結構:
姓名 類別 花費
李 看電影 30
李 吃飯 100
李 旅遊 500
王 吃飯 500
王 看電影 100
王 買衣服 700展現效果:
姓名 top1類別 top1花費 top2類別 top2花費 top3類別 top3花費
李 旅遊 500 吃飯 100 看電影 30
王 買衣服 700 吃飯 500 看電影 100這題目其實挺簡單的,橫列轉換。效率最高的答案,看最後,。。。。/// 如果有更好的, 歡迎討論
select name,
max(decode(seq, 1, type, null)) highest_type,
max(decode(seq, 1, cost, null)) highest_cost,
max(decode(seq, 2, type, null)) second_type,
max(decode(seq, 2, cost, null)) second_cost,
max(decode(seq, 3, type, null)) third_type,
max(decode(seq, 3, cost, null)) third_cost
from (select name,
cost,
type,
row_number() over(partition by name order by cost desc nulls last) seq
from test)
group by name;
一道面試題
一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...
一道面試題
前些時候在找工作,就在準備結束此次找工作歷程的時候,去了一家公司面試,去了之後技術經理直接帶到一台電腦旁,給了一張紙條,上面是這樣的題目 用c或c 來實現 1 建立一棵樹,該樹的深度是隨機的,每個節點的位元組點數是隨機的。2 給每個節點分配一段隨機大小的記憶體空間,給每個節點賦乙個隨機數。3 遍歷這...
一道面試題
如果n為偶數,則將它除以2,如果n為奇數,則將它加1或者減1。問對於乙個給定的n,怎樣才能用最少的步驟將它變到1。例如 n 61 n 60 n 2 30 n 2 15 n 16 n 2 8 n 2 4 n 2 2 n 2 1 public class myclass public static vo...