竞赛讨论区 > 个人错误反思
头像
易水飞霜
发布于 2020-05-30 17:21
+ 关注

个人错误反思

解题思路:
    对于任何一个数组,最大数目的“1412”子串出现情况,只有(多个1)(所有4)(多个1)(所有2)这个排序方式,才会有最大的子串数目。其中如果四个括号里的数字数目分别为a/b/c/d,那么子串1412的数目就是a*b*c*d。
    又因为数字1要分在两个区间内,即a+c=n(数字1的总数)。如果两个数的和一定,差越小乘积越大。所以n/2即为a或c的值。如果n为奇数,a或c有一个值为n/2+1即可。
个人错误点:
    如果定义
long ans;
int a,b;
ans=a*b;是不能超过int的取值范围的。错误出在这里,需要注意

全部评论

(1) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐