饿了么笔试第二题

😅智力题,没 A 出来
下来问 gpt 有了一定思路

直接顺序序列计为 T
T=1*1+2*2+......
直接用平方和公式 O(1)就能计算

如果 T%3=0 那就是答案
如果 T%3=1 那么我们可以交换两个相邻的数,结果就会减少 ai*i+aj*j-ai*j-aj*i=(i-j)*(ai-aj)
由于我们是顺序序列,交换相邻的数结果减少 1*1=1,就有答案了
如果 T%3=2 那么我们可以交换两个相邻的数重复两次就行

总结
如果 T%3=0   顺序输出就行
如果 T%3=1    交换 1 2 顺序输出,也就是 2 1 3 4 5 6.....
如果 T%3=2    交换 2 1 然后交换 3 4 输出,也就是 2 1 4 3 5 6 7 8 9.....

#牛客AI配图神器#
全部评论
先只考虑n大于等于6的情况可以将1-n按照模3分组,得到x0个0,x1个1,x2个2,该问题变为匹配问题,先考虑完美配对,则最终和模3值v=(x1+x2)%3,如果v=0,则直接输出1-n顺序排列,如果v=1,则将配对中的0-0,1-1改为0-1,0-1;如果v=2 则将0-0,0-0,1-1,1-1 改为 四个0-1。再考虑n<6的情况,可以直接穷举
点赞 回复 分享
发布于 03-17 22:12 甘肃
回溯能写吗
点赞 回复 分享
发布于 03-15 02:33 陕西
题是啥
点赞 回复 分享
发布于 03-14 23:14 河北
T 感觉不用直接计算,因为 i^2 % 3 不是0就是1。i^2 % 3 = 0的时候,i % 3 ==0。所以只要计算[1-n] 不整除3的个数,这些都提供了1,在对这些和取余。就是最后平方和取余的结果。(这样就防止n超大的时候,避免直接计算)
点赞 回复 分享
发布于 03-14 21:16 天津

相关推荐

#&nbsp;向量数据库配置指南目前系统支持以下五种向量数据库类型:##&nbsp;支持的向量库类型1.&nbsp;**IN_MEMORY**&nbsp;&nbsp;&nbsp;-&nbsp;纯内存型向量数据库&nbsp;&nbsp;&nbsp;-&nbsp;无需额外服务,简单易用&nbsp;&nbsp;&nbsp;-&nbsp;适合开发测试和小规模应用&nbsp;&nbsp;&nbsp;-&nbsp;重启后数据会丢失2.&nbsp;**MILVUS**&nbsp;&nbsp;&nbsp;-&nbsp;专业级开源向量数据库&nbsp;&nbsp;&nbsp;-&nbsp;支持分布式部署和高性能检索&nbsp;&nbsp;&nbsp;-&nbsp;适合大规模生产环境&nbsp;&nbsp;&nbsp;-&nbsp;需要单独部署Milvus服务3.&nbsp;**CHROMA**&nbsp;&nbsp;&nbsp;-&nbsp;轻量级嵌入式向量数据库&nbsp;&nbsp;&nbsp;-&nbsp;简单易用,API友好&nbsp;&nbsp;&nbsp;-&nbsp;适合中小规模应用&nbsp;&nbsp;&nbsp;-&nbsp;可以持久化存储4.&nbsp;**PGVECTOR**&nbsp;&nbsp;&nbsp;-&nbsp;PostgreSQL的向量扩展&nbsp;&nbsp;&nbsp;-&nbsp;利用成熟的关系数据库基础设施&nbsp;&nbsp;&nbsp;-&nbsp;适合已使用PostgreSQL的场景&nbsp;&nbsp;&nbsp;-&nbsp;需要PostgreSQL&nbsp;12+5.&nbsp;**OPENSEARCH**&nbsp;&nbsp;&nbsp;-&nbsp;基于OpenSearch的向量搜索功能&nbsp;&nbsp;&nbsp;-&nbsp;结合全文检索和向量搜索&nbsp;&nbsp;&nbsp;-&nbsp;适合需要混合搜索的场景&nbsp;&nbsp;&nbsp;-&nbsp;需要OpenSearch&nbsp;1.3+##&nbsp;配置建议选择向量数据库时应考虑:-&nbsp;数据规模-&nbsp;性能需求-&nbsp;现有技术栈-&nbsp;运维复杂度-&nbsp;持久化需求对于生产环境,Milvus、PGVector和OpenSearch通常更适合;而开发和测试环境可以使用IN_MEMORY或Chroma快速开始。
点赞 评论 收藏
分享
评论
6
4
分享

创作者周榜

更多
牛客网
牛客企业服务