两数相加

  1. 给定 nums = [2, 7, 11, 15], target = 9
  2. 因为 nums[0] + nums[1] = 2 + 7 = 9
  3. 所以返回 [0, 1]
  4. class Solution {
  5. public int[] twoSum(int[] nums, int target) {
  6. Map<Integer, Integer> map = new HashMap<>();
  7. for (int i = 0; i < nums.length; i++){
  8. if (map.containsKey(target - nums[i])){
  9. return new int[]{map.get(target - nums[i]), i};
  10. }else{
  11. map.put(nums[i], i);
  12. }
  13. }
  14. return null;
  15. }
  16. }
  17. 利用map集合同时存储数值与序号。逐步循环,检验已录入的值是否可以符合两数相加和,满足则输出两数序号。不满足则将当期值存入map中。