网易 算法四道题题解

# 1. 给一个非递增的数组,例如[5,4,3] 每次操作对其中一个数+1,其中一个数-1,最后构造成单调递增的数组,需要的最少操作次数
例如 [4,3,2]需要四次

# 2. 给定一个字符串,只包括r,e,d求子字符串的数量,要求该子字符串中r,e,d都出现且出现的次数相同

# 3. 求N个数组,K个数按位与的最大值

# 4. 给两个数,a,b 后面数的生成方式是 前面的数和前前面的数相乘然后平方,求第n个数。
例如 2,3,求第4个数
第三个数 (2*3)**2
第四个数   (3*(2*3)**2)**2 
数要对10**9+7取余
#网易游戏#
全部评论
第二道题解答 ``` import sys s = sys.stdin.readline().strip() out = 0 all_dict = {"0_0_0":0} r,e,d = 0,0,0 for p,item in enumerate(s):     if item == "r":         r += 1     elif item == "e":         e += 1     else:         d += 1     list = str(r)+"_"+str(e)+"_"+str(d)     min_number = min([r,e,d])     for i in range(1,min_number+1):         if str(r-i)+"_"+str(e-i)+"_"+str(d-i) in all_dict:             out += 1     all_dict[list] = 1 print(out) ```
1 回复 分享
发布于 2022-08-20 21:46 浙江
大佬有思路吗
点赞 回复 分享
发布于 2022-08-20 18:47 四川
一个都没ac出来
点赞 回复 分享
发布于 2022-08-20 19:35 广东
理想汽车2023提前批校招目前已开启,有打算找工作的师弟师妹们,可以通过以下链接内推投递,全程进度跟随,无笔试。 https://www.nowcoder.com/discuss/1008400
点赞 回复 分享
发布于 2022-08-20 19:51 北京
第三道题,统计每一位1出现的次数,若存在某一个最高位1出现的次数大于等于K,则该位置1,挑选这M个数,继续下面的判断,若等于K则直接返回这K个数与的结果即可。若小于K,则该位置0,所有的数继续下面的判断即可、
点赞 回复 分享
发布于 2022-08-20 21:54 浙江
不小心把@niceblooming 删除了,抱歉,看到的话可以补一下您的答案
点赞 回复 分享
发布于 2022-08-20 21:59 浙江

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 3 评论
分享
牛客网
牛客企业服务