关注
第三题
func solution3(_ nums: [Int]) -> Int {
let N = nums.count
let K = mypow(N) - 1
let mod = Int(1e9+7)
var sum = 0
for num in nums {
sum = (sum + num) % mod
}
let inverseN = modInverse(N, mod)
let result = (K * sum % mod) * inverseN % mod
return result
}
func mypow(_ n: Int) -> Int {
var _n = n
var a = 2
var res = 1
let mod = Int(1e9+7)
while _n > 0 {
if _n % 2 == 1 { res = (res * a) % mod }
a = (a * a) % mod
_n /= 2
}
return res
}
func modInverse(_ a: Int, _ m: Int) -> Int {
var m0 = m
var a0 = a
var m1 = m
var x0 = 0
var x1 = 1
while a0 > 1 {
let q = a0 / m0
var t = m0
m0 = a0 % m0
a0 = t
t = x0
x0 = x1 - q * x0
x1 = t
}
if x1 < 0 {
x1 += m1
}
return x1
}
查看原帖
点赞 评论
相关推荐
今天 19:49
门头沟学院 测试开发 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 6月18日,我将站上法庭,正式起诉美团。我送出的每一单快件,都是我人生碎片的一部分。我会一直前进,拿回在海外SaaS失去的一切。3.2W
- 2... 这b学校一天天的不想着提高就业率就算了还拖累学生是吧?1.3W
- 3... 研一快手后端开发,一周速通,附一二面面经1.1W
- 4... 25校招 双非硕 拿下大厂🐧5228
- 5... 运气远大于努力?4785
- 6... 从竞赛到实习:我的成长之路与经验分享4214
- 7... 有谁遇到这情况?3408
- 8... 挚文集团-陌陌笔试202506062755
- 9... 《客户端从入门到ssp》2583
- 10... 小米一面2372
正在热议
更多
# 实习吐槽大会 #
46372次浏览 209人参与
# 产品实习,你更倾向大公司or小公司 #
150407次浏览 1931人参与
# 我的实习收获 #
38201次浏览 560人参与
# 得物求职进展汇总 #
96187次浏览 804人参与
# 晒一晒你的工位 #
88868次浏览 315人参与
# 硬件兄弟们 甩出你的华为奖状 #
103760次浏览 688人参与
# 现在还是0offer,延毕还是备考 #
1030368次浏览 7546人参与
# 产品每日一题 #
43241次浏览 560人参与
# 大城市找工作会更容易吗 #
38025次浏览 332人参与
# 工作中,努力重要还是选择重要? #
122746次浏览 1536人参与
# 来聊聊你目前的求职进展 #
627076次浏览 6725人参与
# 如何看待offer收割机的行为 #
777133次浏览 6020人参与
# 互联网回暖,腾讯要招5000人! #
17079次浏览 557人参与
# 我的租房踩坑经历 #
39427次浏览 376人参与
# 26届秋招投递记录 #
5988次浏览 155人参与
# 为什么国企只招应届生 #
172585次浏览 1140人参与
# 移动求职进展汇总 #
1799次浏览 19人参与
# 你觉得技术面多长时间合理? #
94311次浏览 684人参与
# 我和mentor的爱恨情仇 #
46197次浏览 289人参与
# 毕业旅行去哪玩儿 #
1741次浏览 45人参与