leetcode: A soma de dois números, o lugar onde os sonhos começam

Esse código implementa a descoberta da combinação de dois números em uma matriz inteira, de modo que sua soma seja igual a um determinado valor de destino. Ele usa dois loops aninhados para percorrer cada elemento na matriz e encontrar a diferença do valor de destino.

Aqui está uma explicação detalhada do código:

vector<int> twoSum(vector<int>& nums, int target) {  
// 创建一个空的整数向量来存储结果  
vector<int> result;  
  
// 使用两个嵌套的循环来遍历数组中的每个元素  
for (int i = 0; i < nums.size(); ++i) {  
    int surplus = target - nums[i]; // 计算当前元素与目标值的差值  
    for (int j = i + 1; j < nums.size(); ++j) {  
        // 如果差值等于数组中的另一个元素,将两个索引添加到结果向量中  
        if (surplus == nums[j]) {  
            result.push_back(i);  
            result.push_back(j);  
            return result; // 找到匹配项,返回结果  
        }  
    }  
}  
// 如果没有找到匹配项,返回一个空的向量  
return result;  
}

Esta função toma como entrada um vetor inteiro  nums e um valor alvo  target , e retorna um vetor inteiro contendo dois valores índices indicando que foi encontrada uma combinação de dois números no array cuja soma é igual ao valor alvo.

Primeiro, crie um vetor inteiro vazio  result para armazenar o resultado. Em seguida, use dois loops aninhados para iterar sobre cada elemento da matriz. A variável do loop externo  i começa no primeiro elemento da matriz e a variável do loop interno   começa no próximo elemento da j variável do loop externo  .i

Em cada iteração, a diferença entre o elemento atual  nums[i] e o valor de destino  é calculada target e armazenada em uma variável  surplus . O loop interno continua a iterar pelos elementos na matriz até encontrar um  surplus elemento igual a  nums[j].

Se um elemento correspondente for encontrado, as  i variáveis ​​de loop externo e interno  j serão adicionadas ao vetor de resultado  result e o resultado será retornado imediatamente. Isso permite que a função termine o loop e retorne o resultado quando encontrar a primeira correspondência.

Se nenhuma correspondência for encontrada, a função retornará um vetor vazio após terminar todos os loops  result.

Acho que você gosta

Origin blog.csdn.net/dsafefvf/article/details/131744546
Recomendado
Clasificación