Suma de dos números (solución C++)

tema

Dada una matriz de enteros  nums y un valor objetivo entero  , busque   los  dostarget números enteros en la matriz cuya suma  es el valor objetivo   y devuelva sus subíndices de matriz.target

Puede suponer que cada entrada corresponderá a una sola respuesta. Sin embargo, el mismo elemento de la matriz no puede aparecer repetidamente en la respuesta.

Puede devolver respuestas en cualquier orden.

Ejemplo 1:

Entrada: nums = [2,7,11,15], destino = 9
 Salida: [0,1]
 Explicación: Debido a que se devuelve nums[0] + nums[1] == 9, [0, 1].

Ejemplo 2:

Entrada: números = [3,2,4], objetivo = 6
 Salida: [1,2]

Ejemplo 3:

Entrada: números = [3,3], objetivo = 6
 Salida: [0,1]

código C ++

#include<iostream>
#include <vector>
using namespace std;

/*
* 暴力法解决两束之和问题
*/
vector<int> twoSum(vector<int>& nums, int target) {
	int n = nums.size();
	for (int i = 0; i < n; ++i) {
		for (int j = i + 1; j < n; ++j) {
			if (nums[i] + nums[j] == target) {
				return { i, j };
			}
		}
	}
	return {};
}

int main() {
	vector<int> nums = { 2,7,11,15 };
	int target = 9;
	vector<int> ans = twoSum(nums, target);
	for (int i = 0; i < ans.size(); ++i) {
		cout << ans[i] << " ";
	}
	cout << endl;
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/m0_62275194/article/details/133948333
Recomendado
Clasificación