1. 程式人生 > >2017吉位元校招一個程式設計筆試題

2017吉位元校招一個程式設計筆試題

題目:
給定一個未排序的數列,找到此數列在已排序狀態下的兩個相鄰值的最大差值,少於兩個值時返回0。例如:給定數列[1,3,2,0,1,6,8]則最大差值為3。

輸入描述:
第一行輸入單個整數N作為數列的大小,第二行輸入所有數列中的元素M,共N個。N在0到1000000之間,M在0到2100000000之間。

輸出描述:
數列的最大差值。

輸入例子:
3
1 10 5

輸出例子:
5

以下是程式碼(如果有什麼問題,還望諒解和指正):

function func(num,arr){
        var result;
        var newArr = [];
        newArr = arr.sort(function
(a,b){
return a-b; }); if(arr.length<2){ result = 0; return result; } if(arr.length != num){ alert("您輸入的數列大小與元素個數不符,請重新輸入!"); return ; }else{ var zz = 0;//存放中間變數 result = newArr[1
]-newArr[0];//初始賦值 for(var i=1;i<newArr.length;i++){ zz = newArr[i+1]-newArr[i]; if(zz>=result){ result = zz; } } } return result; } //測試資料 var x = [1,3,2,0,1,6,8]; var y = 0
; y = func(7,x); console.log(y);