算法题目二:找到数组中迷失的数字
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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树