프로그래머스 178870 연속된 부분 수열의 합

1 개요[ | ]

프로그래머스 178870 연속된 부분 수열의 합

2 C++[ | ]

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> sequence, int k) {
    int n = sequence.size();
    int start = 0, end = 0;
    int sum = 0;
    vector<int> answer(2, -1);
    int minLength = 1e9;
    while (start < n) {
        if (sum < k && end < n) {
            sum += sequence[end++];
        } else {
            sum -= sequence[start++];
        }
        if (sum == k) {
            if (end - start < minLength) {
                minLength = end - start;
                answer[0] = start;
                answer[1] = end - 1;
            }
        }
    }
    return answer;
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}