网易2023.9.23笔试

100 100 100 0
第一题完全骗的分数,完全不会做。我在里面判断了一下长度是不是奇偶居然就过了…..(我知道这是不对的,但是确实是过了)

第二题属于简单题,用的哈希表
第三题需要注意除法取模要求逆元,题目本质上是数学题,子序列的平均和=子序列个数*所有元素之和/数组长度。子序列个数为(2^数组长度)-1,手撕了一个快速幂
第四题看都不想看一眼
全部评论
我也是前三题100
1 回复 分享
发布于 2023-09-23 17:10 广东
第四题a,b,c分解质因数, 质因数取dict保存,每次,dictc元素×d,操作dict = dict(counter(dicta) + counter(dictb) + counter(dictc)), 最后对总dict的每个key求积再求模就行
1 回复 分享
发布于 2023-09-24 01:39 广东
第三题
 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 }
点赞 回复 分享
发布于 2023-09-23 16:18 山东
佬,第二题哈希表啥思路
点赞 回复 分享
发布于 2023-09-23 16:33 湖北
第四题直接print查询的数目//2 骗了10%
点赞 回复 分享
发布于 2023-09-23 16:42 广东

相关推荐

评论
2
5
分享
牛客网
牛客企业服务