好未来-笔试-算法
1.一长数字切割,使得各部分3的倍数个数最多
如:12345,切为12,3,45,返回3
import sys
def sp(x):
cou, sum = 0, 0
for i in range(len(x)):
sum += int(x[i])
if sum % 3 == 0:
cou += 1
sum = 0
return cou
for line in sys.stdin:
x = line.strip()
print(sp(x)) 2.递增序列最大和
int increaseArraySum(int *a, int n){
int sum[n],max_sum=0;
for(int i=0;i<n;i++){
sum[i]=a[i];
for(int j=0;j<i;j++){
if (a[j]<a[i])
sum[i]=max(sum[i],sum[j]+a[i]);
}
max_sum=max(max_sum,sum[i]);
}
return max_sum;
}
3. p面骰子,其中n面奖励在掷一次,分数即骰子当面数字;求掷一次的分数期望
input:6 1 6面,1面奖励
1 1 1 1 1 1 6面,每面分数
output :1.2 1+1+1+1+1+1【+1奖励一次】 / 6 =1.2
4.实现字符串替换
Replc(src,src_str,dst_str,out)#好未来##笔试题目##题解#
查看28道真题和解析