做弹幕网站,如何建设网站简介,中国足球最新消息,怎么营销自己的产品题目
在一个无序数组中找到两个数#xff0c;两个数之和为给定的一个数#xff0c;返回两个数在数组中的下标。
原理
遍历数组#xff0c;遍历到一个数字的时候#xff0c;记录下这个数及其下标#xff0c;遍历时判断给定数减去这个数为key在map中是否存在#xff0c;…题目
在一个无序数组中找到两个数两个数之和为给定的一个数返回两个数在数组中的下标。
原理
遍历数组遍历到一个数字的时候记录下这个数及其下标遍历时判断给定数减去这个数为key在map中是否存在存在则返回两个下标否则将数和下标放入map即可。
代码 public static void main(String[] args) {int[] indexArray getIndexArray(10, new int[]{2, 7, 5, 3, 1, 6});System.out.println(Arrays.toString(indexArray));}private static int[] getIndexArray(int num, int[] arr) {MapInteger, Integer map new HashMap();for (int i 0; i arr.length; i) {if (null ! map.get(num - arr[i])) {return new int[]{map.get(num - arr[i]), i};}map.put(arr[i], i);}return null;}