京東商城面試
- 面試
- 關注:7.49K次
去得比較晚,沒相當宣講那麼快就結束了,然後又等試卷(試卷不夠)等了一段時間,最後大半都沒寫。
京東商城的筆試題真得很特別,沒有選擇,全部是填空,最後照例兩道編程題。
內容主要就是數據結構,還有大量的.概念題,這個.....反正我是寫不出來。
還有一個數據庫實例,寫一些增刪改查的SQL語句,沒什麼難度。
兩道邏輯題,悲催的不會,
一個是12個小球,其中一個重量不同,用天平稱三次,把它找出來;
一個是飛機加油問題,很老的問題,一個飛機可以飛半個地球,飛機間可以互相加油,求讓一個飛機飛整個地球最少要出動多少架飛機;
最後兩個編程題現在看起來不算太難,但當時就是寫不出來,可能我實在是不適應現場手寫代碼吧,回來後很快就寫出來了,放出來給大家看看。
1.求一個數組裏面最大的K個數。
public class FindBigK {
public static void main(String[] args) {
int[] array=new int[]{1,5,-1,8,0,2}};//示例數組
int k=3;//設K=3
int [] out=findK(array,k);
for(int i=0;i<th;i++){< p="">
tln(out[i]);
}
}
static int[] findK(int[] array,int k){
int temp=0;
int charge=0;
int[] out=new int[k];
for(charge=0;charge<k;charge++){< p="">
int mark=charge;
int big=array[charge];
for(int i=charge+1;i<th;i++){< p="">
if(big<array[i]){< p="">
big=array[i];
mark=i;
}
}
temp=array[charge];
array[charge]=array[mark];
array[mark]=temp;
out[charge]=array[charge];
}
return out;
}
}
求得為8 5 2
2.求一個數組中相加的值最大的連續序列
public class FindBigArray {
public static void main(String[] args) {
int[] array=new int[]{-2,9,-3,4,-6,7,-6,4};//示例數組
int sum=0;
int start=0;
int end=1;
int newstart=0;
int big=0;
for(int i=0;i<th;i++){< p="">
sum+=array[i];
if(sum<=0){
sum=0;
newstart=i+1;
}else{
if(sum>big){
big=sum;
start=newstart;
end=i+1;
}
}
}
for(int i=start;i<end;i++){< p="">
tln(array[i]);
}
}
}
求得序列為 9 -3 4 -6 7
- 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/zh-hk/flzc/mianshi/4mn59.html