当前位置: 首页 > article >正文

【笔试强训】Week5:空调遥控, kotor和气球,走迷宫,主持人调度II,体操队形,二叉树的最大路径和,排序子序列,消减整数

文章目录1. 空调遥控题目描述解题思路解法一滑动窗口解法二二分查找代码实现2. kotori和气球题目描述解题思路代码实现3. 走迷宫题目描述解题思路代码实现4. 主持人调度II题目描述解题思路代码实现5. 体操队形题目描述解题思路代码实现6. 二叉树的最大路径和题目描述解题思路代码实现7. 排序子序列题目描述解题思路代码实现8. 消减整数题目描述解题思路代码实现1. 空调遥控空调遥控题目描述解题思路解法一滑动窗口时间复杂度O(n * lonn) O(n)把数组排序维护一个窗口保证max-min2p统计窗口长度返回最大值解法二二分查找时间复杂度O(n * lonn) O(n * lonn)把数组排序枚举每一个温度通过二分查找分别找到arr[i]-parr[i]p对应的下标计算这个区间内人数总和返回最大值即可代码实现importjava.util.*;importjava.io.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息publicclassMain{staticReadinnewRead();staticPrintWriteroutnewPrintWriter(newBufferedWriter(newOutputStreamWriter(System.out)));publicstaticvoidmain(String[]args)throwsIOException{intnin.nextInt();intpin.nextInt();long[]arrnewlong[n];for(inti0;in;i)arr[i]in.nextLong();Arrays.sort(arr);intleft0;intright0;intret0;while(rightn){while(leftright(arr[right]-arr[left])2*p)left;retMath.max(right-left1,ret);right;}System.out.println(ret);out.close();}}classRead{StringTokenizerstnewStringTokenizer();BufferedReaderbfnewBufferedReader(newInputStreamReader(System.in));Stringnext()throwsIOException{while(!st.hasMoreTokens()){stnewStringTokenizer(bf.readLine());}returnst.nextToken();}intnextInt()throwsIOException{returnInteger.parseInt(next());}longnextLong()throwsIOException{returnLong.parseLong(next());}}2. kotori和气球kotori和气球题目描述解题思路排列组合第一个位置n种选择其余位置n-1种选择代码实现importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);intnin.nextInt();intmin.nextInt();intansn;for(inti1;im;i){ansans*(n-1)%109;}System.out.println(ans);}}3. 走迷宫走迷宫题目描述解题思路最短路径 --》 BFS注意下标从1开始字符串要先前置一个“ ” 再填写到grid中代码实现importjava.util.*;importjava.io.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息publicclassMain{staticReadinnewRead();publicstaticvoidmain(String[]args)throwsIOException{intnin.nextInt();intmin.nextInt();intxsin.nextInt();intysin.nextInt();intxtin.nextInt();intytin.nextInt();int[]dx{0,0,1,-1};int[]dy{1,-1,0,0};if(xsxtysyt){System.out.println(0);return;}boolean[][]checknewboolean[n1][m1];char[][]gridnewchar[n1][m1];for(inti1;in;i){Stringstrin.next();str str;grid[i]str.toCharArray();}intans0;Queueint[]queuenewLinkedList();queue.add(newint[]{xs,ys});check[xs][ys]true;while(!queue.isEmpty()){ans;intsizequeue.size();for(inti0;isize;i){int[]topqueue.poll();for(intk0;k4;k){intxdx[k]top[0];intydy[k]top[1];if(x0xny0ym!check[x][y]grid[x][y].){if(xxtyyt){System.out.println(ans);return;}queue.add(newint[]{x,y});check[x][y]true;}}}}System.out.println(-1);}}classRead{StringTokenizerstnewStringTokenizer();BufferedReaderbfnewBufferedReader(newInputStreamReader(System.in));Stringnext()throwsIOException{while(!st.hasMoreTokens()){stnewStringTokenizer(bf.readLine());}returnst.nextToken();}intnextInt()throwsIOException{returnInteger.parseInt(next());}longnextLong()throwsIOException{returnLong.parseLong(next());}}4. 主持人调度II主持人调度II题目描述解题思路把所有数组按照第一个元素排序创建一个列表表示已分配的数组。放入第一个数组接着遍历数组如果可以与已分配的数组时间错开就可以继续排在后面。如果与所有已分配的数组都重合就再添加一个子列表结果就是列表的长度优化子列表中不需要存放放已分配好的数组的右端点的最大值每次遍历列表时间复杂度太高可以把列表设置成小根堆每次与堆顶元素比较即可代码实现publicintminmumNumberOfHost(intn,int[][]startEnd){// write code hereArrays.sort(startEnd,(a,b)-Integer.compare(a[0],b[0]));PriorityQueueIntegerheapnewPriorityQueue();heap.add(startEnd[0][1]);for(inti1;in;i){inttopheap.peek();if(startEnd[i][0]top){heap.poll();heap.add(startEnd[i][1]);}elseheap.add(startEnd[i][1]);}returnheap.size();}5. 体操队形体操队形题目描述解题思路DFS 枚举通过决策树来枚举所有情况剪枝不合法的情况通过vis数组记录每个数字是否被使用过以下面为例2要求排在1前面当1已经排队2还没排队所有情况都不可能成立所以1先排队的情况都要剪枝。代码实现importjava.util.*;publicclassMain{staticboolean[]vis;staticint[]arr;staticintn0;staticintret0;publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);nin.nextInt();arrnewint[n1];visnewboolean[n1];for(inti1;in;i){arr[i]in.nextInt();}dfs(1);System.out.println(ret);}staticvoiddfs(intpos){if(posn1){ret;return;}for(inti1;in;i){if(!vis[i](arr[i]i||!vis[arr[i]])){vis[i]true;dfs(pos1);vis[i]false;}}}}6. 二叉树的最大路径和二叉树的最大路径和题目描述解题思路树形dp DFS在某个子树上整合的信息经过根节点的最大路径和左子树返回以左孩子为根节点的最大单链路径和如果最大和是负数可以直接舍弃left Math.max(0,dfs(root.left))右子树返回以右孩子为根节点的最大单链路径和因为最终的统计如果要包含根节点所以左右子树的路径必须是单链再拼接上根节点才能得到以经过根节点的最大路径和。每次得到的路径和中取最大值是最终的结果.代码实现importjava.util.*;publicclassSolution{intret-1010;publicintmaxPathSum(TreeNoderoot){// write code heredfs(root);returnret;}intdfs(TreeNoderoot){if(rootnull)return0;intleftMath.max(0,dfs(root.left));intrightMath.max(0,dfs(root.right));retMath.max(ret,leftrightroot.val);returnMath.max(left,right)root.val;}}7. 排序子序列排序子序列题目描述解题思路贪心模拟定义一个指针先判断当前是上升或者下降如果是上升就让指针一直向后移动到波峰下降同理指针不再移动时统计结果。如果当前阶段是水平只移动指针不统计结果让这段水平区域与后面上升或下降的部分连到一起代码实现importjava.util.*;importjava.io.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{ReadinnewRead();intnin.nextInt();int[]arrnewint[n];for(inti0;in;i){arr[i]in.nextInt();}intret0;inti0;while(in){if(in-1){ret;break;}if(arr[i]arr[i1]){while(in-1arr[i]arr[i1])i;ret;}elseif(arr[i]arr[i1]){while(in-1arr[i]arr[i1])i;ret;}else{while(in-1arr[i]arr[i1])i;}i;}System.out.println(ret);}}classRead{StringTokenizerstnewStringTokenizer();BufferedReaderbfnewBufferedReader(newInputStreamReader(System.in));Stringnext()throwsIOException{while(!st.hasMoreTokens()){stnewStringTokenizer(bf.readLine());}returnst.nextToken();}intnextInt()throwsIOException{returnInteger.parseInt(next());}longnextLong()throwsIOException{returnLong.parseLong(next());}}8. 消减整数消减整数题目描述解题思路贪心每次尽可能减去之前数的两倍假设x-a得到y如果y%2a0说明y可以一直-2a得到0否则就-a代码实现importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);inttin.nextInt();while(t0){inthin.nextInt();h-1;inta1;intans1;while(h0){if(h%(2*a)0){h-2*a;a*2;}elseh-a;ans;}System.out.println(ans);t--;}}}

相关文章:

【笔试强训】Week5:空调遥控, kotor和气球,走迷宫,主持人调度II,体操队形,二叉树的最大路径和,排序子序列,消减整数

文章目录1. 空调遥控题目描述解题思路解法一:滑动窗口解法二:二分查找代码实现2. kotori和气球题目描述解题思路代码实现3. 走迷宫题目描述解题思路代码实现4. 主持人调度II题目描述解题思路代码实现5. 体操队形题目描述解题思路代码实现6. 二叉树的最大…...

抖音批量下载神器:免费开源工具终极指南,轻松保存高清视频与音乐

抖音批量下载神器:免费开源工具终极指南,轻松保存高清视频与音乐 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and b…...

Office RibbonX Editor:免费开源Office界面定制终极解决方案

Office RibbonX Editor:免费开源Office界面定制终极解决方案 【免费下载链接】office-ribbonx-editor An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF 项目地址: https://gitcode.com/gh_mirrors/of/office-ribbonx-…...

免费开源神器:SMUDebugTool让你轻松掌控AMD Ryzen处理器的秘密

免费开源神器:SMUDebugTool让你轻松掌控AMD Ryzen处理器的秘密 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...

Maya glTF插件完整教程:从安装到Web 3D模型转换的终极指南

Maya glTF插件完整教程:从安装到Web 3D模型转换的终极指南 【免费下载链接】maya-glTF glTF 2.0 exporter for Autodesk Maya 项目地址: https://gitcode.com/gh_mirrors/ma/maya-glTF 你是否正在寻找将Maya中的3D模型转换为现代Web应用所需格式的解决方案&a…...

TrollInstallerX:iOS越狱生态的智能安装革命

TrollInstallerX:iOS越狱生态的智能安装革命 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 还在为复杂的越狱安装流程而烦恼吗?TrollInstallerX…...

SSCom串口调试助手:跨越平台壁垒的硬件通信解决方案

SSCom串口调试助手:跨越平台壁垒的硬件通信解决方案 【免费下载链接】sscom Linux/Mac版本 串口调试助手 项目地址: https://gitcode.com/gh_mirrors/ss/sscom 在嵌入式开发和硬件调试领域,串口通信是最基础也是最关键的调试手段。然而&#xff0…...

Beyond Compare 5授权密钥生成器:一键激活与完整技术解析

Beyond Compare 5授权密钥生成器:一键激活与完整技术解析 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 在软件开发和日常工作中,文件对比工具Beyond Compare 5无疑是开…...

Hermes Agent对接Taotoken自定义Provider的配置要点详解

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent对接Taotoken自定义Provider的配置要点详解 1. 理解对接的基本前提 Hermes Agent是一个支持多种大模型提供方的开发工…...

如何快速掌握UABEA:新手必备的Unity资源编辑完整指南

如何快速掌握UABEA:新手必备的Unity资源编辑完整指南 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 你是否曾经想要修改自己喜欢的Unity游戏,却因为复杂的资源格式而束手无策&…...

Mac NTFS读写终极指南:Free NTFS for Mac完整解决方案

Mac NTFS读写终极指南:Free NTFS for Mac完整解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management fo…...

CANN-ops-transformer和ATB-昇腾NPU上算子和加速库怎么配合

有人问我:ops-transformer 和 ATB 到底是什么关系?我把 FlashAttention 的代码改了,ATB 的推理结果怎么也跟着变了?这两个仓库在昇腾CANN生态里是上下游关系,但它们的边界不是"底层"和"上层"那么简…...

抖音批量下载神器:免费开源工具解决你的视频保存难题

抖音批量下载神器:免费开源工具解决你的视频保存难题 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

CANN8.5-ops-transformer更新了什么昇腾NPU算子

CANN 8.5 在 2024 Q4 发布,ops-transformer 仓库跟进了三个重要更新:FlashAttention V2 的反向传播融合、MC2 通算融合的多卡拓扑适配、以及新增的 GroupedAttention 算子。如果你已经用 CANN 8.0 在跑大模型推理,这篇帮你判断要不要升级。 F…...

张雪机车五夺WSBK分站冠军,海光信息成国产芯片一哥,硬核科技崛起!

张雪机车:WSBK赛场五度夺冠 昙花一现?不,现在都五现了。5月16 - 17日的WSBK捷克站,车手德比斯驾驶张雪机车820RR赛车,连续两回合夺冠。这是张雪机车本赛季第五个WSBK分站冠军。 如果说最早一次的夺冠是处于“新车优待期…...

免费商用音乐下载网站TOP5 | 基于版权合规与素材复用效率的横评

引言 2026年,国内内容营销市场持续扩张,企业短视频、直播切片、线下活动音视频等场景对背景音乐的需求量同比增长37%(根据《2026中国数字内容版权白皮书》)。然而,创作者在实际选曲过程中普遍存在三类矛盾&#xff1a…...

第三篇:必知必会的5个核心斜杠命令(/help、/compact、/clear、/cost、/exit)

📌 标签:#斜杠命令 #会话管理 #效率工具 #必学Claude Code 的交互核心就是那几条斜杠命令。掌握它们,你就能像 Vim 高手一样行云流水地操控 AI。1. 为什么斜杠命令如此重要? Claude Code 的对话界面虽然看起来像普通聊天&#xff…...

零基础转行工业AI视觉全攻略|从入门学习、项目积累、求职就业到副业接单完整路径

摘要:当下传统自动化、机械、普通编程岗位普遍存在内卷严重、薪资天花板低、成长空间有限等问题。而工业AI视觉作为智能制造核心刚需赛道,具备岗位缺口大、薪资溢价高、技术生命周期长、可主业就业副业接单的核心优势,成为应届生、职场转行、…...

DownKyi完整指南:三步掌握B站8K超高清视频下载

DownKyi完整指南:三步掌握B站8K超高清视频下载 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。…...

解析IFC:BIM领域的“通用语言”,好而不完美的开放标准

在建筑信息模型(BIM)的数字化协同体系中,IFC(Industry Foundation Classes,工业基础类)无疑是最具影响力的开放文件格式。它就像建筑行业的“通用语言”,打破了不同BIM软件之间的壁垒&#xff0…...

Navicat16/17 Mac版试用期终极重置指南:三种自动化方案实现无限免费使用

Navicat16/17 Mac版试用期终极重置指南:三种自动化方案实现无限免费使用 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_ma…...

EdgeRemover终极指南:3种简单方法彻底卸载Windows 10/11的Microsoft Edge浏览器

EdgeRemover终极指南:3种简单方法彻底卸载Windows 10/11的Microsoft Edge浏览器 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirrors/…...

Seraphine:基于LCU API的英雄联盟智能数据分析与自动化辅助解决方案

Seraphine:基于LCU API的英雄联盟智能数据分析与自动化辅助解决方案 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine是一款基于英雄联盟官方LCU API开发的专业级游戏数据分析与自动化辅助…...

5分钟掌握跨平台资源下载:res-downloader视频号批量下载终极指南

5分钟掌握跨平台资源下载:res-downloader视频号批量下载终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

B站缓存合并工具:Android设备上的离线视频处理神器

B站缓存合并工具:Android设备上的离线视频处理神器 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and exports t…...

制造业供应链优化指南 精益物流落地方法与工具解析

制造业供应链优化离不开物流体系精细化升级,面向工厂运营与供应链从业者,本文拆解精益物流四大核心原则,详解五类落地工具的应用逻辑与实操场景,适配企业流程优化、成本管控、效率提升工作落地。引言:从技术视角看制造…...

终极指南:3步快速掌握Reloaded-II游戏Mod加载器

终极指南:3步快速掌握Reloaded-II游戏Mod加载器 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II Reloaded-II是一款基于.NET Core开发…...

C++图文并茂轻松进阶面向对象

一、进阶面向对象(上)面向对象的意义在于将日常生活中习惯的思维方式引入程序设计中将需求中的概念直观的映射到解决方案中以模块为中心构建可复用的软件系统提高软件产品的可维护性和可扩展性类和对象是面向对象中的两个基本概念类∶指的是一类事物&…...

【云计算学习之路】学习Centos7系统:服务搭建(NFS)

文章目录【云计算学习之路】学习Centos7系统:服务搭建(NFS)前言一、NFS 核心原理与架构1.1 NFS 服务简介1.2 NFS 核心依赖与守护进程、端口机制1.2.1 基础依赖组件1.2.2 NFS 核心守护进程1.2.3 核心通信端口规则1.3 NFS 完整工作流程(附原理图解)1.4 常用…...

GPT5.5怎么切中文界面设置教程一看就会

做多模型中文能力对比测试时用了AI模型聚合平台,一站接入多个模型方便对比不同模型的中文输出质量。GPT-5.5上线快一个月了。注册完打开一看全是英文界面,切了半天没找到在哪改。搜了一圈教程要么过时要么步骤不全。这次把2026年5月最新的中文设置全流程…...