2022-08-20-网易笔试题

article/2025/10/2 3:38:11

写在前面

题目收集来源自网络,前四题是开发岗的,后四题是算法岗的,因为代码无处提交,不一定正确,就不贴出来了,这里只写一下我的思路吧~欢迎大家一起讨论~~

1、 

思路:因为最大1e9,也就是最多10位数字。且操作只跟结果有关,跟过程无关,因此可以对a和b分别二进制枚举删除的数字,这样a有2^10个可能性,b有2^10个可能性,然后暴力取操作次数的min就可以了。时间复杂度O(2^10^2),正常写的话可能带个log,但是不难通过一些方法优化掉。


2、

 思路:分析题意不难发现,奇数位置一定是同一个数字,偶数位置一定是同一个数字,且操作只能+1,不能-1。所以分别加到奇数偶数分别的max就可以了。


3、

 思路:读题发现,要求尽可能保证“好e”最大化,所以对于len(s)为奇数的情况,e只有一种摆法。对于len(s)为偶数的情况,e有两种摆法。

对于每一种摆法,又有r开头和d开头两种情况。然后分类讨论一下就好了。


4、

 思路:从中间的元素入手,题意转化为:有多少三元组(a,b,a),其中a>b。那么可以枚举每一个b,然后维护两个数组l和r,其中l[a]代表b左边有多少个值为a的元素,r[a]同理。然后树状数组维护l[a]*r[a],当b移动的时候就动态计算并更新l,r,树状数组。统计的时候只需要统计树状数组后缀和就可以了。时间复杂度O(nlogn),挺好的题。


5、

小红拿到一个数组,想在其中选择k个数使得这k个数的 按位与运算的值尽可能大。

输入,第一行n和k 用空格隔开
第二行 n个正整数ai,代表小红拿到的数组

思路:想了一个复杂度小于O(nlogn)的。首先排序,然后从高位向低位枚举,当第i位为1的个数>=k的时候,假设有n1个数,那就再从n1这些数里面遍历后续的低位。然后注意一些边界情况的处理,比如如果第i位为1的不够k个,或者刚好k个的情况。

网上找了一个代码,复杂度是O(30*n)的

n, k = map(int, input().split())
*nums, = map(int, input().split())cnt = [[0] * 30 for _ in range(n)]for i in range(n):tmp = nums[i]idx = -1while tmp:if tmp & 1:cnt[i][idx] += 1tmp = tmp >> 1idx -= 1
final = [0] * 30 
exclude = set()
for i in range(30):tmp = 0s = set()for j in range(n):if j in exclude:continue if cnt[j][i] == 1:tmp += 1else:s.add(j)if tmp >= k:final[i] = 1 exclude = exclude | s     print(int(''.join(map(str,final)), 2))

6、(这题对于贪心的证明还是可以好好思考下的!!!

一个长度为n的排列(比如[1,2,3]是一个排列,[1,2,5,3]则不是)每次可以让一个数字加一同时另一个数字减一,同时必须保证每次操作后依旧是一个排列。求:将这个排列变成非递减排列的最小操作次数?

n = int(input())
*nums, = map(int, input().split())hm = dict()
for i in range(n):hm[nums[i]] = i
res = []
acc = 0
for i in range(n):while nums[i] != i + 1:acc += 1idx2 = hm[nums[i] - 1]nums[i], nums[idx2] = nums[idx2], nums[i]hm[nums[idx2]] = idx2 hm[nums[i]] = i res.append([idx2, i])
print(acc)
for i in range(len(res)):print(res[i][0], res[i][1])

 贴一下wjh大佬的证明思路,为什么可以先考虑第一个数降为目标值,再考虑后续位置。

 


 

7、

小红拿到一个只包含 r e d三种字母的字符串,她想知道有多少子串满足 r e d三种字母的数量严格相等?

输入,一个仅包含red的字符串 长度不超过200000

s = input().strip()
from collections import defaultdict 
hm = defaultdict(int)
hm['0,0,0'] = 1
r = e = d = 0
res = 0
for i in range(len(s)):if s[i] == 'r':r += 1if s[i] == 'e':e += 1if s[i] == 'd':d += 1state = f'{0},{e-r},{d-r}'res += hm[state]hm[state] += 1
print(res)

 思路:将差值存入一个map,相等问题转化为前缀问题,然后查map并维护即可。


8、输入三个数,a,b,n。前两个为前两个项的数,后面每个数都是前两个数的乘积的平方,输出第n个数,如果超了1e9+7要取余。n<=1e9

思路:分析会发现,数列为[a1b0, a0b1, a2b2, a4b6, a12b16](数字代表次方),所以如果把a和b拆开来看的话,就会发现对于次方的通式为f[i]=2(f[i-1]+f[i-2]),配合矩阵快速幂就可求解。对于取余,可以用费马小定理(因为p是质数)


http://chatgpt.dhexx.cn/article/3qPpysw1.shtml

相关文章

网易游戏策划笔试-20190404

1-7题为文案题&#xff08;答题时请勿参考其他作品&#xff09;&#xff0c;8-23题为数值系统题&#xff0c; 两个方向分别计算分数&#xff0c;最终选择分数更高的方向作为最终成绩&#xff0c;建议优先选择自己擅长或感兴趣的方向进行答题。 8、&#xff08;无需过程&#xf…

JESD204接口调试总结——JESD204+In-system-ibert

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 JESD204接口调试总结——JESD204In-system-ibert 前言IP核的设置IP核连线调试jtag界面总结 前言 之前我们在讲serdes的时候讲到了使用in-system-ibert来进行眼图的扫描&…

JESD204B IP核的配置与使用

一、JESD204 配置方式&#xff1a; Configuration 1、Transmit or Receive: 选择是作为接收机还是发射机 2、LFMC : 默认值 3、Number of lanes : 传输的通道数&#xff0c;根据实际需求选择 4、pattern&#xff1a;模式的选择&#xff0c;正常情况下两个都不选 5、clocki…

JESD204接口调试总结——Xilinx JESD204B IP testbench解析

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 JESD204接口调试总结——Xilinx JESD204B IP testbench解析 IP核配置testbench工程部分代码解读 IP核配置 1、IP核为接收功能 2、LMFC buffer设定为最大 3、4条lane 4、sysre…

STC15W204S下载

一&#xff1a;所使用测试板。 为8管脚最小板&#xff0c; 二&#xff1a;工程新建。 一&#xff1a;keil c51。 2&#xff1a;新建main,加入工程。 测试程序&#xff1a; #include <reg52.h>//stc15w20s为51内核#define MAIN_Fosc 35000000UL //定义主时钟sbit PIN_LE…

JESD204B 系统复位与同步选项

CGS&#xff0c;代码组同步&#xff0c;ILA&#xff0c;初始化多帧序列帧同步&#xff0c;然后进行数据传输 。 系统复位 在系统复位上&#xff1a;JESD204中提供了一个全局的异步时钟复位&#xff0c;rx_reset用来复位整个系统&#xff0c;AXI4-Lite系统总线复位不受此影响&am…

Atsha204a使用心得

最近公司要用到Atsha204a做软件和硬件的绑定加密&#xff0c;于是就调了它的驱动&#xff0c;将使用过程中遇到的坑整理下&#xff0c;也好让各位同仁少加点班&#xff1b;废话少说&#xff0c;直接入正题。 0.加密原理&#xff1a; 主控端和Atsha204a端有相同的16 组密码&am…

JESD204B接口调试记录3 - 总结

目录 一、介绍下项目历史情况 二、为什么要用fs4模式&#xff1f; 三、为什么要将采样率改成2.5Gsps&#xff1f; 四、时钟芯片参数如何设置&#xff1f; 五、AD芯片参数如何设置&#xff1f; 六、FPGA工程里JESD204 IP如何设置&#xff1f; 七、传输层如何解包&#xff…

【JESD204B】基于JESD204B协议的ADC、DAC数据传输

1、JESD204协议概述 ADC、DAC技术即模数、数模转换技术&#xff0c;在军用和民用领域广泛应用&#xff0c;如现在常用的有微信语音、网络电话、其典型数据处理流程&#xff1a; 语音输入->ADC采样->调制->基站->无线传输->基站->解调->DAC->语音输出…

理解JESD204B链路参数 Understanding JESD204B Link Parameters

想要彻底理解参数意义要先看JESD协议标准原文&#xff0c;再看看这文章。这是我花了很久才意识到的道理&#xff0c;不过这篇文章对理解也有一定意义。 这个文章是我看的一篇英文文章的大体翻译&#xff0c;并不是逐行的。文章名《Understanding JESD204B Link Parameters》 L…

FPGA之JESD204B接口——总体概要 首片

1. 简介 JESD204是一种连接数据转换器&#xff08;ADC和DAC&#xff09;和逻辑器件的高速串行接口&#xff0c;该标准的 B 修订版支持高达 12.5 Gbps串行数据速率&#xff08;目前C修订版已经发布&#xff0c;即JESD204C&#xff09;&#xff0c;并可确保 JESD204 链路具有可重…

JESD204B 参数理解

M和N M表示单片芯片上转换器的个数。 N表示转换器的分辨率。 比如一个4通道14位的ADC器件&#xff0c;M为4&#xff0c;N为14. N’ N’ 定位为word 长度。N’的计算为首先把N打散成一个个的nibble,每个nibble为4bit.对于14bit和16bit的分辨率&#xff0c;都是4个nibble,12…

Atmel ATSHA204应用总结

1 ACES软件安装 Atmel Crypto Evaluation Studio (ACES) https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atmel%20Crypto%20%20Studio%20(ACES) 2 基本概念 ACES CE&#xff1a;Atmel Crypto Evalution Studio Configuration Environment&#xff08;基于加…

加密芯片ATSHA204之使用

目录 看手册Command PacketsConfiguration ZoneLock CommandNonce CommandGenDig CommandWrite CommandRead CommandMAC CommandDeriveKey Command相关参考 本文旨在记录 ATSHA204 的使用过程。ATSHA204 是一个安全认证和验证设备&#xff0c;可防止设备被抄袭&#xff0c;应该…

ATSHA204芯片手册阅读笔记

使用心得: &#xff08;1&#xff09;配置好IIC&#xff0c;访问芯片之前先唤醒。 &#xff08;2&#xff09;按个人需求配置好Config区域&#xff0c;配置好之后锁住Config。只有锁住了Config&#xff0c;才能去操作Data区。 &#xff08;3&#xff09;开始写数据区&#xff0…

JESD204标准概述

此篇是我在学习中做的归纳与总结&#xff0c;其中如果存在版权或知识错误请直接联系我&#xff0c;欢迎留言。 PS:本着知识共享的原则&#xff0c;此篇博客可以随意转载&#xff0c;但请标明出处&#xff01; 目录 JESD204协议标准的分类和区别&#xff1a; JESD204A JESD20…

【JESD204系列】二、JESD204概述

在JESD204B 版本中&#xff0c;引入了确定性延时这一关键同步机制&#xff0c;并根据确定性延迟的不同实现方式划分了三个子类。通过实现确定性延迟&#xff0c;系统在两次上电之间&#xff0c;或者重新建立链路的时候&#xff0c;有了一个可以重复的延迟&#xff0c;为系统在处…

JESD204B学习之关键点问答

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a; https://blog.csdn.net/u014586651/article/details/86744263 JESD204B学习之关键点问答 1.概述 本文是用于记录JESD20…

jesd204B

调试ADI_JESD204B&#xff1a; 问题描述 卡在CGS阶段。 rx_204B 收到了连续的K码bcbcbcbc&#xff0c;但是SYNC一直不能拉高。 sdk的串口打印报错。initial frame synchronization:NO ? 原因分析&#xff1a; 可能收发的配置问题&#xff1f; sysref频率有问题&#xff1f; 复…

JESD204B 使用说明

JESD204B IP核作为接收端时&#xff0c;单独使用&#xff0c;作为发送端时&#xff0c;可以单独使用&#xff0c;也可以配合JESD204b phy使用。 JESD204B通常配合AD或DA使用&#xff0c;替代LVDS,提供更高的通讯速率&#xff0c;抗干扰能力更强&#xff0c;布线数量更少。 本…