2018美團上級筆試,第一部分為單選,第二部分為問答題,第三部分為編程題。選擇不僅有技術(shù)題,還有行政題,還是挺有難度的,我遇到的問答題挺簡單的,就是Block里面執(zhí)行全局靜態(tài)變量,全局變量和局部變量,會出現(xiàn)的問題,那些能夠在Block里面修改,那些不行,應(yīng)該怎么寫才能沒有錯誤。
下面說一下編程題第一題,第二題沒有時間做
任意輸入一個數(shù)組和一個正整數(shù),數(shù)組中連續(xù)的n個相加,得出和為m,且m能夠被這個正整數(shù)除盡,求這個n的最大值,沒有返回0,代碼如下:
- (int)maxLengthWith:(NSArray *)arr decimal:(int)number
{
if ([arr count] == 0) {
return 0;
}
long long tmp = 0;
int length = 0;
int maxLength = 0;
for (int i = 0; i < [arr count]; i++) {
tmp = 0;
length = 0;
for (int j = i; j < [arr count] ; j++) {
tmp = tmp + [arr[j] intValue];
if (tmp%number == 0) {
length = j - i + 1;
maxLength = maxLength > length ? maxLength : length;
}
}
}
return maxLength;
}
如果哪里有錯或者有更好的方法,歡迎指出來,大家一起學(xué)習(xí)!