은/어떤 맥락없이 할당/면접 질문을 붙여, 나는 웹 솔루션과 동일한 기능을 수행 할 수 있습니다 ...
/* Returns true if the there is a subarray of arr[] with sum equal to 'sum'
otherwise returns false. Also, prints the result */
int subArraySum(int arr[], int n, int sum)
{
int curr_sum, i, j;
// Pick a starting point
for (i = 0; i < n; i++)
{
curr_sum = arr[i];
// try all subarrays starting with 'i'
for (j = i+1; j <= n; j++)
{
if (curr_sum == sum)
{
printf ("Sum found between indexes %d and %d", i, j-1);
return 1;
}
if (curr_sum > sum || j == n)
break;
curr_sum = curr_sum + arr[j];
}
}
printf("No subarray found");
return 0;
}
출처 : http://www.geeksforgeeks.org/find-subarray-with-given-sum/
추신 : 의견을 말할만한 점수가 충분하지 않습니다.
-1 무엇이 문제입니까? (어쨌든, google up partitioning) –
당신이 우연히 발견 한 것은 [배낭 문제] (http://en.wikipedia.org/wiki/Knapsack_problem)입니다. – fredoverflow
시도한 코드를 게시하면 도움을 드릴 수 있습니다! – Luigi