个人错误反思

解题思路:
    对于任何一个数组,最大数目的“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的取值范围的。错误出在这里,需要注意
全部评论
棒!
点赞 回复
分享
发布于 2020-06-01 20:21

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务