[C++]プログラマ-2つ引いて加算
問題の説明
整数配列番号.numbersから異なるインデックスの2つの数を抽出し、作成できるすべての数を昇順に配列に入れ、solution関数の戻りを完了してください.
せいげんじょうけん
numbersの長さは2または100以下です.
numbersのすべての数字は0または100以下です.
アルゴリズム#アルゴリズム#
いずれにしても、2つの数を抜いてからすればいいのです.
そして時間の制限に常に注意しなければならない.
入力されたvector(numbers)の長さは100以下であるため,重複する複文を用いても全く問題ない.
そして、「二つの数」なので、誰が見ても重複文を書く問題だと思います.
少し粗いですが、以下のアルゴリズムで解決しました. numbersでは、2つの数のプロトコルのすべての結果を答えに戻します. はもちろんオーバーラップする可能性もありますが、まず1を経た答えをソートします. 以前に学んだ唯一の()を用いて,オーバーラップ数以外の正解を得た. 重なる部分を排除してuniqueが本当に便利だと改めて感じました.
ソースコード uniqueを使用する場合は、「ソート」して行う必要があります.
整数配列番号.numbersから異なるインデックスの2つの数を抽出し、作成できるすべての数を昇順に配列に入れ、solution関数の戻りを完了してください.
せいげんじょうけん
numbersの長さは2または100以下です.
numbersのすべての数字は0または100以下です.
アルゴリズム#アルゴリズム#
いずれにしても、2つの数を抜いてからすればいいのです.
そして時間の制限に常に注意しなければならない.
入力されたvector(numbers)の長さは100以下であるため,重複する複文を用いても全く問題ない.
そして、「二つの数」なので、誰が見ても重複文を書く問題だと思います.
少し粗いですが、以下のアルゴリズムで解決しました.
ソースコード
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> numbers) {
vector<int> answer;
for(int i = 0; i < numbers.size() - 1; i++)
{
for(int j = i + 1; j < numbers.size(); j++)
answer.push_back(numbers[i] + numbers[j]);
}
sort(answer.begin(), answer.end());
answer.erase(unique(answer.begin(), answer.end()), answer.end());
return answer;
}
フィードバックReference
この問題について([C++]プログラマ-2つ引いて加算), 我々は、より多くの情報をここで見つけました https://velog.io/@josuncom/C-프로그래머스-두-개-뽑아서-더하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol