您的位置:首页 > 编程语言 > Java开发

算法题目二:找到数组中迷失的数字

2016-03-06 16:00 621 查看
public class TestTwo {
public static void main(String[] args) {
int[] str = {2,4,1,5};
System.out.print(solution2(str));
}
public static int solution(int[] A){
int temp; // 记录临时中间值
int L = A.length; // 数组大小
for (int i = 0; i < L - 1; i++) {
for (int j = i + 1; j < L; j++) {
if (A[i] > A[j]) { // 交换两数的位置
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
}
int tag = 0;
int b = A[0];
int a = A[L-1] - A[0] + 1;
int[] B = new int[a];
for(int i = 0; i < a;i++){
B[i] = b + i;
}
for(int i = 0;i<L;i++){
if(A[i]!=B[i]){
tag = i;
break;
}
}
return B[tag];
}

public static int solution2(int[] A){
int keyvalue = 0;
int min = Integer.MAX_VALUE;
for(int i = 0;i < A.length;i++){
if(A[i]<min) min=A[i];
}
Map<Integer,Integer>  map = new HashMap<>();
for(int i = 0 ; i < A.length+1; i ++){
map.put(min+i,0);
}
for(Integer key : map.keySet()){
System.out.println("key:"+key+"value:"+map.get(key));
}
return keyvalue;
}

//冒泡排序
public static void bubbleSort(int[] numbers) {
int temp; // 记录临时中间值
int size = numbers.length; // 数组大小
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (numbers[i] > numbers[j]) { // 交换两数的位置
temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 算法