#!/bin/bash
#Program: 面試血淚史 IV
#History: Feb. 16, 2007 rusin first release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH

面試公司: 西岸某線上購物大老

這家以線上賣書起家的 .com 公司, 也很喜歡考 brain teaser. 但是令人驚嚇過度的是他們的絕招"用頭腦寫程式". 

面試者:"現在給妳一個 list, 寫個程式把裡面的 elements 倒排."
: "ok." (開始在紙上寫大概的邏輯, 就是所謂的 pseudocode)
面試者: "完成了嗎?"
: "yes." (不疑有它)
面試者: "請妳現在念給我聽, 我把妳念的程式打進電腦裡幫你 compile".
: (啥???)

大哉問:

現在有兩個 ArrayList, 
list1 裡面是: C A B F K
list2 裡面是: 2, 1, 4, 3,5
字母對應的數字就是這個字母應該要在的位置, 意思就是說 list1 應該是要這樣排: A(第一個), C(第二個), F, B, K
現在請寫一個程式將 list1 排成 A,C,F,B,K, 可以用另外的 valuables, (越少越好), 但是不能用額外的 list.
(寫完了, 請分析自己程式的 time/space complexity)



arrow
arrow
    全站熱搜

    rusin2 發表在 痞客邦 留言(4) 人氣()