2025年春招饿了么笔试马上开始,看看去年改编真题热热身!

1、有一个数组a,求这个数组不同的质数和不同的合数共有多少个。合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。第一行输入一个整数n表示数组长度。1<=n<=2*10^5。第二行输入n个整数表示数组a。1<=ai<=2*10^5

输出一个整数。

输入

3

20 2 4 输出

3

------------------------------------------------------------------------------------------------------------

2、有一个长度为n的数组a,定义了一个函数f(L,R)=aL|aL+1|...|aR。|表示位运算中的按位或运算。现在有q次询问,每次询问都会给出一个区间[L,R],以及一个正整数k,想知道在区间中是否存在一个右端点r(l<=r<=R),使得f(L,r)=k?输入包含若干行。第一行两个正整数n,q([1,10^5]),分别表示数组a的长度和询问次数。第二行n个正整数ai([1,10^9]),表示数组a的每个元素。

接下来q行,每行三个正整数L,r,k(1<=L<=R<=n,1<=k<=3*10^9)输出包含q行,每行一个整数,如果存在符合条件的,请输出最小的一个,如果不存在输出一个-1。 输入

5 5

3 2 3 3 6

1 2 3

1 5 7

1 4 7

2 2 2

2 3 7

输出

1

5

-1

2

-1

说明:第一个询问,区间[1.2]中,选择r=1,区间[1,1]的f值为3,因此输出1。

--------------------------------------------------------------------------------------------------------- 3、一个无向图,删除若干条边,使得最终恰好有2个连通块。每次删除一条边后可以获得这条边边权的价值。能获得的最大价值是多少?第一行输入两个整数n, m,代表节点数量和边的数量。接下来的m行,每行输入三个正整数u,v, w,代表节点u和节点v有一条边权为w的边。如果该无向图初始的连通块的数量不小干3,则输出-1.否则输出—个整数,代表小红能获得的最大价值。

示例1

输入

3 3

1 2 4

2 3 3

1 3 2

输出

7

说明

删除前两条边即可。这样有两个连通块:节点1和节点3的连通块,节点2自己为个连通块。

示例2

输入

4 2

1 2 4

3 4 3

输出

0

说明

初始即为两个连通块,且无法删除任何边(如果删除就会变成3个连通块)。

笔试能力提升宝典 文章被收录于专栏

本专栏专注于互联网大厂春招、秋招笔试编程真题的深度解析与实战演练,助你轻松攻克笔试难关。无论你是应届毕业生,还是准备跳槽的职场人,这里都有你需要的干货内容。我们精选了一线互联网企业的经典笔试题目,涵盖数据结构、算法、动态规划、字符串处理等高频考点,并提供详细的解题思路与代码实现。通过本专栏,你将掌握笔试核心技巧,提升编程实战能力,轻松应对大厂笔试挑战。快来加入我们,开启你的大厂求职之旅吧!

全部评论
阿婆主,笔试是不是只有三道编程题,ACM模式
点赞 回复 分享
发布于 03-07 15:39 陕西
点赞 回复 分享
发布于 03-07 11:51 重庆

相关推荐

字符串:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&amp;amp;uuid=0dddbed382eb4cd3b0e79d4558d492ad在许多编程语言中,字符串是不可变的。比如在&nbsp;Python、Java&nbsp;和&nbsp;JavaScript&nbsp;中,对字符串的任何修改都会返回一个新的字符串对象,而不会修改原来的字符串。元组:在&nbsp;Python&nbsp;中,元组是一种不可变的数据结构。创建后其中的元素无法被更改、添加或删除。不可变集合:例如&nbsp;Python&nbsp;的&nbsp;frozenset&nbsp;和&nbsp;Java&nbsp;中的&nbsp;Collections.unmodifiableSet&nbsp;提供了对集合的不可变视图。持久化数据结构:一些语言(如&nbsp;Scala)提供了持久化的集合类型,这些集合在修改时会共享内部结构,从而在性能上接近于可变数据结构。函数式编程语言中的不可变数据结构:Haskell&nbsp;和&nbsp;Clojure&nbsp;等函数式编程语言中广泛使用不可变数据结构,提供了高效的不可变列表、映射、集合等。不可变数据结构的缺点尽管不可变数据结构有很多优点,但也存在一些缺点:性能开销:每次改变数据结构时,都需要创建一个新的版本,可能导致性能损失,尤其是在大量数据需要频繁修改的情况下。内存开销:由于每次修改都要创建一个新对象,可能会引发较高的内存消耗。在内存敏感的应用中需要谨慎使用。结论不可变数据结构在现代编程中愈发受到重视,特别是在并发编程和函数式编程中。虽然它们可能在性能和内存使用上有一些劣势,但其带来的可预测性、线程安全性和简化调试的优点使得它们在许多场景下依然是优选方案。选择使用不可变数据结构时,开发人员需要权衡这些优缺点,以适应具体应用的需求。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务