找出不一樣的數

假如你現在被一羣美女包圍了,你的兄弟要把你找出來,結果會怎麼樣?(會不會被打死)

現在給你一個數字數組,其中會有一個數字與其他所有的數字都不一樣,請把它找出來!

例如:

findUniq([ 1, 1, 1, 2, 1, 1 ]) === 2


findUniq([ 0, 0, 0.55, 0, 0 ]) === 0.55


注意:數組中的數字會大於等於3個。在測試用例中會有非常龐大的數組,所以要考慮一下性能哦!


public class Demo {

public static double findUniq(double arr[]) {

// 7 1 1 1 1 1 
// 1 7 1 1 1 1
// 1 1 1 1 1 7
for(int i=0;i<arr.length;i++){
if(i==0){
if(arr[0]!=arr[1] && arr[0]!=arr[2]){
return arr[0];
}
}else if(i==arr.length-1){
if(arr[i]!=arr[i-1] && arr[i]!=arr[i-2]){
return arr[i];
}
 
}else{
if(arr[i]!=arr[i-1] && arr[i]!=arr[i+1]){
return arr[i];
} 
}
 
 
}
return 0;
      
}
 
public static void main(String[] args) {
double d =  Demo.findUniq(new double[]{0, 1, 0});
System.out.println(d);
}
}
点赞