拼多多笔试真题-多多接金币(C++/Py/Java /Js/Go)
多多接金币拼多多技术岗 7月19号笔试 第三题题目内容多多在玩一个横版视角的接金币游戏控制的角色可以向左或者向右移动最大移动速度为111个单位距离/秒地图上总共会出现NNN枚金币第iii枚金币会在TiT_iTi​秒时准确掉落在坐标XiX_iXi​的位置如果没被接住就会瞬间消失。为了接住金币你必须在TiT_iTi​秒时出现在XiX_iXi​坐标。此外由于角色捡金币需要短暂的硬直时间如果你接住了金币AAA想要再去接金币BBB两次的时间间隔必须严格大于你在两地之间移动所需的时间即满足公式TB−TA∣XB−XA∣T_B - T_A |X_B - X_A|TB​−TA​∣XB​−XA​∣假设游戏开始前你可以在任意位置等待。请问你整场游戏最多能接住多少枚金币注意如果同一时刻坐标XXX有多枚金币同时掉落最多只可以接到一个。输入描述第一行包含一个整数N(1≤N≤105)N(1 \le N \le 10^5)N(1≤N≤105)表示金币的数量。接下来NNN行每行两个整数TiT_iTi​和XiX_iXi​1≤Ti≤1091 \le T_i \le 10^91≤Ti​≤109−109≤Xi≤109-10^9 \le X_i \le 10^9−109≤Xi​≤109分别表示金币出现时刻和坐标。输出描述输出一个整数表示你最多能收集到的金币数量。样例1输入5 1 2 5 5 2 3 7 4 6 8输出3说明最优接金币路径之一为提取【金币1】→【金币2】→【金币4】总共333枚。题解思路解题思路:逻辑分析 LIS算法题目限制两个金币先后获取的限制为TB−TA∣XB−XA∣T_B - T_A |X_B - X_A|TB​−TA​∣XB​−XA​∣,表达式展开为Ti - Xi Tj - XjTi Xi Tj Xj同时满足上述两个表达式即可进行拾取可以设置u Ti - Xiv Ti Xi现在要求最长二维链(A1​,B1​),(A2​,B2​),...,(Ak​,Bk​)需要同时满足A1​A2​…Ak​B1​B2​…Bk​目前问题就转换为LIS问题处理逻辑为要实现求v的严格递增子序列长度需要按照u进行升序u相同情况按照v降序(避免u相同情况).然后使用二分求LIS进行求解即可。代码时间复杂度为O(nlogn)C#includebits/stdc.husingnamespacestd;usinglllonglong;structNode{ll u;// T - Xll v;// T X};intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intN;cinN;vectorNodea(N);// Ti - Tj |Xi - Xj| Ti - Xi Tj - Xj and Ti Xi Tj Xjfor(inti0;iN;i){ll T,X;cinTX;a[i].uT-X;a[i].vTX;}sort(a.begin(),a.end(),[](constNodea,constNodeb){if(a.u!b.u){returna.ub.u;}returna.vb.v;});// 求v的严格递增子序列长度 lis[i]代表长度为i的可取最小值vectorlllis;for(autop:a){ll xp.v;autoitlower_bound(lis.begin(),lis.end(),x);if(itlis.end()){lis.push_back(x);}else{*itx;}}coutlis.size()endl;return0;}javaimportjava.io.*;importjava.util.*;publicclassMain{staticclassNode{longu;// T - Xlongv;// T XNode(longu,longv){this.uu;this.vv;}}publicstaticvoidmain(String[]args)throwsException{BufferedReaderbrnewBufferedReader(newInputStreamReader(System.in));intNInteger.parseInt(br.readLine());Node[]anewNode[N];// Ti - Tj |Xi - Xj| Ti - Xi Tj - Xj and Ti Xi Tj Xjfor(inti0;iN;i){String[]partsbr.readLine().split( );longTLong.parseLong(parts[0]);longXLong.parseLong(parts[1]);a[i]newNode(T-X,TX);}Arrays.sort(a,(x,y)-{if(x.u!y.u){returnLong.compare(x.u,y.u);}returnLong.compare(y.v,x.v);});// 求v的严格递增子序列长度 lis[i]代表长度为i的可取最小值ArrayListLonglisnewArrayList();for(Nodep:a){longxp.v;intl0;intrlis.size();while(lr){intmid(lr)/2;if(lis.get(mid)x){rmid;}else{lmid1;}}if(llis.size()){lis.add(x);}else{lis.set(l,x);}}System.out.println(lis.size());}}pythonimportsysimportbisectclassNode:def__init__(self,u,v):self.uu# T - Xself.vv# T Xinputsys.stdin.readline Nint(input())a[]# Ti - Tj |Xi - Xj| Ti - Xi Tj - Xj and Ti Xi Tj Xjfor_inrange(N):T,Xmap(int,input().split())a.append(Node(T-X,TX))# u升序# u相同时v降序a.sort(keylambdap:(p.u,-p.v))# 求v的严格递增子序列长度 lis[i]代表长度为i的可取最小值lis[]forpina:xp.v# lower_boundidxbisect.bisect_left(lis,x)ifidxlen(lis):lis.append(x)else:lis[idx]xprint(len(lis))javascriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});letinput[];rl.on(line,line{input.push(line);});rl.on(close,(){letidx0;classNode{constructor(u,v){this.uu;// T - Xthis.vv;// T X}}constNNumber(input[idx]);leta[];// Ti - Tj |Xi - Xj| Ti - Xi Tj - Xj and Ti Xi Tj Xjfor(leti0;iN;i){let[T,X]input[idx].split( ).map(Number);a.push(newNode(T-X,TX));}a.sort((a,b){if(a.u!b.u){returna.u-b.u;}returnb.v-a.v;});// 求v的严格递增子序列长度 lis[i]代表长度为i的可取最小值letlis[];for(letpofa){letxp.v;// lower_boundletl0;letrlis.length;while(lr){letmid(lr)1;if(lis[mid]x){rmid;}else{lmid1;}}if(llis.length){lis.push(x);}else{lis[l]x;}}console.log(lis.length);});Gopackagemainimport(bufiofmtossort)typeNodestruct{uint64// T - Xvint64// T X}funcmain(){in:bufio.NewReader(os.Stdin)varNintfmt.Fscan(in,N)a:make([]Node,N)// Ti - Tj |Xi - Xj| Ti - Xi Tj - Xj and Ti Xi Tj Xjfori:0;iN;i{varT,Xint64fmt.Fscan(in,T,X)a[i]Node{u:T-X,v:TX,}}sort.Slice(a,func(i,jint)bool{ifa[i].u!a[j].u{returna[i].ua[j].u}returna[i].va[j].v})// 求v的严格递增子序列长度 lis[i]代表长度为i的可取最小值lis:make([]int64,0)for_,p:rangea{x:p.v// lower_boundl:0r:len(lis)forlr{mid:(lr)/2iflis[mid]x{rmid}else{lmid1}}ifllen(lis){lisappend(lis,x)}else{lis[l]x}}out:bufio.NewWriter(os.Stdout)deferout.Flush()fmt.Fprintln(out,len(lis))}

相关新闻

异地新建工厂招聘管理团队:如何吸引候选人愿意去?【制造业猎头公司分析】

异地新建工厂招聘管理团队:如何吸引候选人愿意去?【制造业猎头公司分析】

一、 导语:异地建厂热潮下的“人才落地困境” 在智能制造、半导体设备、具身智能与新材料产业加速升级的当下,制造型企业的产能扩张呈现出明显的区域迁移特征。从上海、深圳、苏州等一线或强二线城市的核心研发区,向昆山、太仓、宜宾、滁州、…

2026/10/13 14:59:06 阅读更多 →
肾癌术后防复发迎来新解法!Belzutifan联合帕博利珠单抗术后辅助获批【海得康】

肾癌术后防复发迎来新解法!Belzutifan联合帕博利珠单抗术后辅助获批【海得康】

很多人对肾癌的印象还停留在“切了就没事”,但实际上不少做完肾切除手术的患者,尤其是中高危人群,术后几年里还是有不小的复发风险。2026年6月12日,美国FDA刚批了一个全新的术后辅助治疗方案,直接把肾癌防复发的治疗往…

2026/10/11 1:39:02 阅读更多 →
Python | 11大排序学习总结

Python | 11大排序学习总结

2025.7.12-7.13简介:此文章是本人对11大排序的学习和理解,方便自己以后回想记忆。好了正片开始!11.选择排序特点:一个对小白友好的排序理解:从未排序序列中,选择出最小元素排在第一位。此后依此循环&#x…

2026/10/11 6:49:56 阅读更多 →

最新新闻

Wechaty 集成 wechatferry:用 @wechatferry/puppet 实现 PC Hook 微信机器人的完整实践

Wechaty 集成 wechatferry:用 @wechatferry/puppet 实现 PC Hook 微信机器人的完整实践

即时通讯后端AI 应用 【免费下载链接】wechatferry - 项目地址: https://gitcode.com/gh_mirrors/wec/wechatferry 点击查看 免费下载 本文围绕 wechatferry 仓库中的 Wechaty 集成文档 docs/integrations/wechaty.md 展开,讲解如何通过 wechatferry/pu…

2026/10/14 17:38:02 阅读更多 →
Web前端MOOC测试题:HTML/CSS/JavaScript考点与答题策略

Web前端MOOC测试题:HTML/CSS/JavaScript考点与答题策略

1. 这里不是“背答案”那么简单:先看这门课的测试题到底在考什么先纠正个笔误——标题里写的“前段开发”,应该是“前端开发”。这不是抠字眼,是因为我在给学生答疑时发现,很多人在搜索引擎里输入的关键词本身就带着错别字&#x…

2026/10/14 17:38:02 阅读更多 →
STM32 F103C8T6驱动AHT10温湿度传感器:模拟I2C实现与避坑指南

STM32 F103C8T6驱动AHT10温湿度传感器:模拟I2C实现与避坑指南

简介:面向嵌入式初学者的STM32 F103C8T6学习笔记工程包,主题是AHT10温湿度传感器驱动与数据采集。内容围绕I2C(集成电路总线)通信展开,涵盖引脚复用配置、库函数收发、传感器初始化与校准、温湿度原始数据移位换算、校…

2026/10/14 17:38:02 阅读更多 →
WhoDB Impeccable 的 shape 命令详解:写代码前的三阶段 UX/UI 规划工作流

WhoDB Impeccable 的 shape 命令详解:写代码前的三阶段 UX/UI 规划工作流

数据库客户端后端前端CLI桌面应用数据可视化AI 应用 【免费下载链接】whodb Where data access meets operational intelligence 项目地址: https://gitcode.com/gh_mirrors/wh/whodb 点击查看 免费下载 在 WhoDB 仓库中,.agents/skills/impeccable/ 目…

2026/10/14 17:38:02 阅读更多 →
字符串的基本知识

字符串的基本知识

字符串的基本知识 #字符串练习/某地区旅游人数 tra_peroson_count 1000 tra_turnover_day 99999.9 #打印数据类型 print(type(tra_peroson_count),type(tra_turnover_day)) python_string1 “继续学习python语言” python_string2 ‘继续学习python语言’ python_string3 …

2026/10/14 17:38:02 阅读更多 →
东方财富行情数据接口抓取实战:从XHR响应到SQLite增量存储

东方财富行情数据接口抓取实战:从XHR响应到SQLite增量存储

做数据的人,十个里有八个都动过爬东方财富网的心思。这个系列第二篇,我不再抓静态页面,而是直接抓行情数据接口。上一篇跑通了最基础的页面解析,但那只是开胃菜:页面源码里看不到的几个关键字段——最新价、涨跌幅、成…

2026/10/14 17:37:01 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →