20191211——java力扣 两数之和
两数之和 之前都是用python来完成的力扣上的题目,听一个师兄说还是用编译型语言来完成题目比较好,复习了一下java,然后用java来完成题目 第一个方法还是暴力破解法 遍历之后用一个变量存储差值,然后来遍历nums[j]有没有等于这个差值,然后返回 class Solution { public int [ ] twoSum ( int [ ] nums , int target ) { int [ ] result = new int [ 2 ] ; for ( int i = 0 ; i < nums . length ; i ++ ) { int dif = target - nums [ i ] ; for ( int j = i + 1 ; j < nums . length ; j ++ ) { if ( nums [ j ] == dif ) { result [ 0 ] = i ; result [ 1 ] = j ; } } } return result ; } } 第二个方法利用哈希表进行处理,会减少查询时间 基础中也学习到过哈希表,是一个map键值(key)-数值(value)对应类型存储数据的接口,数组中我们索引的是数组下标来对内容进行查询,但是在map中我们通过对象来进行索引,索引的对象叫做key,获取到的内容叫做value