一個人的最低金額有過馬路,並與每一步他要麼獲得一定的能量或失去了一些(這個信息是作爲一個數組)。找出最小的能量,他應該讓開始的任何級別他的能量不低於1找到需要的人
但低於程序總是打印「錯誤」,而不是數量。
#include<stdio.h>
#include<limits.h>
int main(){
int a[]={10,20,20};
int n = sizeof(a)/sizeof(a[0]);
int ans = calldistance(a,n);
if(ans==-1)
printf("error");
else
printf("%d",ans);
return 0;
}
int calldistance(int a[],int n){
int i,min=INT_MAX;
for(i=0;i<n;i++){
min+=a[i];
if(min<1) return -1;
else continue;
}
return min;
}
這有一個經典的回溯問題的感覺。而你的程序是無效的,並應該產生一個錯誤。這是你的實際代碼嗎?或者你是否一起打了一些東西,希望能爲你解決這個問題? – StoryTeller
@StoryTeller無需遞歸。只有1通過陣列。 (我可能是錯的......) – bolov
有沒有人在標題上標記過,還是隻有我? :D –