성형 배열 을 입력 하여 모든 하위 배열 의 최대 값 을 구하 십시오.
1374 단어 알고리즘
/*
:
, 。
, 。
。 O(n)。
1, -2, 3, 10, -4, 7, 2, -5, 3, 10, -4, 7, 2,
18。
*/
#include
#include
#include
#define ARRAY_SIZE 20
/* */
void fillArrayWithRand(int iarray[], int num)
{
int i = 0;
int itmp = 0;
srand((int)time(0)); /* */
for (; i < num; ++i)
{
itmp = (rand()) % 0xf; /* 15 */
/* */
if (0 == itmp % 2)
{
iarray[i] = itmp;
}
else
{
iarray[i] = -itmp;
}
}
for (i = 0; i < ARRAY_SIZE; ++i)
{
printf("%d ", iarray[i]);
}
printf("
");
}
void findMaxValueSubArray(int iarray[], int num)
{
int isum = 0;
int i = 0;
int itmp = 0;
for (; i < num; ++i)
{
if (isum < 0)
{
isum = iarray[i];
}
else
{
isum += iarray[i];
}
/* */
if (itmp < isum)
{
itmp = isum;
}
}
printf("isum = %d
", isum);
}
int main()
{
int iarray[ARRAY_SIZE];
/* */
fillArrayWithRand(iarray, ARRAY_SIZE);
/* */
findMaxValueSubArray(iarray, ARRAY_SIZE);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.