百度笔试24届暑期实习招聘研发A卷

本来想找Go的,结果全是C++的题。。。编程题都没过,1,2题感觉思路是对的,不知道哪写的有问题,第3题感觉应该用线段树维护几个值?各位1,2题A了的能帮我看看吗?
第一题
遍历一遍数组,把相同颜色累加求和,另外乘以前面不同颜色的和并加到最终结果上,过程不断取模。
func main() {
mod := big.NewInt(int64(1e9 + 7))
var n int
var x int64
fmt.Scanln(&n)
nums := make([]int64, n)
for i := 0; i < n; i++ {
fmt.Scan(&x)
nums[i] = x
}
input := bufio.NewScanner(os.Stdin)
input.Scan()
str := input.Text()
fmt.Println(str)
ans := big.NewInt(int64(0))
sumR := big.NewInt(int64(0))
sumB := big.NewInt(int64(0))
for i, s := range str {
if s == 'R' {
tmp := big.NewInt(0)
tmp.SetInt64(nums[i])
sumR.Add(sumR, tmp)
sumR.Mod(sumR, mod)
tmp.Mul(tmp, sumB)
tmp.Mod(tmp, mod)
ans.Add(ans, tmp)
ans.Mod(ans, mod)
} else {
tmp := big.NewInt(0)
tmp.SetInt64(nums[i])
sumB.Add(sumB, tmp)
sumB.Mod(sumB, mod)
tmp.Mul(tmp, sumR)
tmp.Mod(tmp, mod)
ans.Add(ans, tmp)
ans.Mod(ans, mod)
}
}
fmt.Println(ans)
}
最开始都没用大数,用int64也是过不了。
全部评论
佬什么时候笔试的?
点赞 回复 分享
发布于 2023-03-29 11:54 辽宁

相关推荐

点赞 评论 收藏
分享
运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
企业都这么缺人了吗?缺人为什么还给白菜价!
真起不了响亮的名字:我给你出个主意,把公司报出来,让牛友去投,岂不美哉
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务