Y los dos números de la experiencia de aprendizaje

Dos números y

Violencia 1
Este método se utiliza para dirigir la matriz basada en la suma de dos números es igual a encontrar la matriz de destino de acuerdo a las preguntas formuladas, se da la matriz de destino restando el primer número de la serie, para obtener el número de detecciones detectado por el número de una segunda matriz de recorrido que buscan obtener


```cpp
在这里插入代码片

Solución clase
{
público:
vectortwoSum (Vector los nums y, objetivo int)
{
vectorial RES;
int numsSize = int (nums.size ()); / definición valor de longitud de la cadena /

       for (int index = 0; index < numsSize;index++)    /*进行遍历,将数组中每个数与目标值做一遍减法,获取验证数值*/
       {
           int b = target - nums[index];
           for (int index2 = 0; index2 < numsSize; index2++)   /*对数组遍历第二遍,寻找数组中与只匹配的数值*/
           {
               if (nums[int(index2)] == b)
               {
                   res.push_back(index);                /*返回目标值一的下标*/
                   res.push_back(index2);               /*返回目标值二的下标*/
               }
           }
       }
       return res;
   }

};

2  哈希表法
这种方法原理上我个人觉得和暴力法挺像的,只不过借助哈希表进行检索,当被减的数值通过目标值和数组中的值得出的时候,就可以通过哈希表检索,看有没有和这个数值想到等的数,有就直接返回这个数的下标,这种方法相对于直接法来说,更为简便化,在哈希表存储的过程中就有下标值和数值两个数值,这样当我们在得知这个数值是多少的时候就可以很快的知道它对应的标值是多少,而不用费力去 进行二遍检索。

```cpp

```cpp
在这里插入代码片class Solution
{
public:
      vector<int> twoSum(vector<int> &nums, int target)
      {
          unordered_map<int,int> hash;
          vector<int>result;                     /* 定义一个哈希表,其中一个值代表的是数值,另一个代表的是该数值对应的下标,方便索引
          int numsSize = int(nums.size());
          for (int i = 0; i< numsSize;i++)       /*将数组中的值逐渐和目标值进行减法,获取目标值
          {
              int numberTOFind = target - nums[i];    

              if(hash.find(numberTOFind) !=hash.end())   /*检索哈希表,如果数值在哈希表中则将相应的数值的下标值返回
              {
                  result.push_back(hash[numberTOFind]);
                  result.push_back(i);
                  return result;
              }
          }
         return result;    /*返回此时的结果值结果值为两次数的下标值
      }
      
};

由于本人编程能力有限,用上述算法思路编出的程序总是出现错误,所以采取别的大佬的程序,结合我的心得来阐述一下我的心得,该程序转载与:
https://leetcode-cn.com/problems/two-sum/solution/liang-shu-zhi-he-cshi-xian-liang-chong-jie-fa-bao-/
原文作者:pinku-2
来源:
力扣(LeetCode)
Se han publicado 19 artículos originales · ganado elogios 1 · visitas 117

Supongo que te gusta

Origin blog.csdn.net/laozhujie/article/details/104589788
Recomendado
Clasificación