zoukankan      html  css  js  c++  java
  • 0001_two_sum

    说明:

    这里有一个坑,题目中容易误解为不存在相同的元素。这里如果数组中存在相同的元素也是可以的。

     1 class Solution {
     2 public:
     3     vector<int> twoSum(vector<int>& nums, int target) {
     4         map<int, vector<int>> m;
     5         vector<int> res;
     6         for (int i = 0; i < nums.size(); ++ i) {
     7             m[nums[i]].push_back(i);
     8          }
     9          for (int i = 0; i < nums.size(); ++ i) {
    10             if (nums[i] * 2 == target) {
    11                 if (m[nums[i]].size() == 2) {
    12                     res.push_back(m[nums[i]][0]);
    13                     res.push_back(m[nums[i]][1]);
    14                     break;
    15                 }
    16             }
    17              else if (m.find(target - nums[i]) != m.end()) {
    18                  res.push_back(i);
    19                  res.push_back(m[target-nums[i]][0]);
    20                 break;
    21                  //return res;
    22              }
    23          }
    24         return res;
    25     }
    26 };
     1 class Solution:
     2     def twoSum(self, nums, target):
     3         """
     4         :type nums: List[int]
     5         :type target: int
     6         :rtype: List[int]
     7         """
     8         res = []
     9         num_indices = dict()
    10         for index, value in enumerate(nums):
    11             if value in num_indices:
    12                 num_indices[value].append(index)
    13             else:
    14                 num_indices[value] = [index]
    15         for k, v in num_indices.items():
    16             if k * 2 == target:
    17                 if len(v) == 2:
    18                     res.extend(v)
    19                     break
    20             else:
    21                 if target - k in num_indices:
    22                     res.append(v[0])
    23                     res.append(num_indices[target - k][0])
    24                     break
    25         return res
  • 相关阅读:
    F系列车牌识别设备
    金蝶云星空安装及卸载教程
    RG-RAC256高性能无线控制器
    关于IP网段划分
    Win10关闭自动更新的三种方法
    锐捷网络RG-S2528G-24P
    光纤信号的传输距离
    POE交换机
    光纤收发器
    大华工具管家 1.01.1官方版
  • 原文地址:https://www.cnblogs.com/shadowwalker9/p/7726591.html
Copyright © 2011-2022 走看看