<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lovely_compiler的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lovely_compiler</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lovely_compiler]]></copyright><item><title><![CDATA[数组连续和 - 华为OD统一考试(C卷)]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146349067</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146349067</guid><author>lovely_compiler</author><pubDate>Tue, 18 Mar 2025 18:52:43 +0800</pubDate><description><![CDATA[给定一个含有N个正整数的数组，求出有多少连续区间（包括单个正整数），它们的和大于等于。注意：此题对效率有要求，暴力解法通过率不高，请考虑高效的实现方式。个正整数 （每个正整数小于等于 100）。输出一个整数，表示所求的个数。]]></description><category></category></item><item><title><![CDATA[【华为OD题库-016】字符串摘要-Java]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146312668</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146312668</guid><author>lovely_compiler</author><pubDate>Mon, 17 Mar 2025 13:26:21 +0800</pubDate><description><![CDATA[第一个b非连续字母，该字母之后字符串中还出现了2次(最后的两个Bb)，所以输出b2。a连续出现3次，输出a3，c非连续，该字母之后字符串再没有出现过c，输出c0，Bb连续2次，输出b2。4、对按照以上方式表示后的字符串进行排序:字母和紧随的数字作为一组进行排序，数字大的在前，数字相同的则按字母进行排序，字母小的在前。3、如果是非连续的宁符(不区分大小写)，则输出:该字符(小写)该字母之后字符串中出现的该字符的次数。2、如果出现连续字符(不区分大小写)，则输出:该字符(小)＋连续出现的次数。]]></description><category></category></item><item><title><![CDATA[【华为OD机考真题】- 用户调度问题（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146256967</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146256967</guid><author>lovely_compiler</author><pubDate>Fri, 14 Mar 2025 14:35:10 +0800</pubDate><description><![CDATA[题目： 在通信系统中，一个常见的问题是对用户进行不同策略的调度，会得到不同的系统消耗和 性能。假设当前有n个待串行调度用户，每个用户可以使用 A/B/C 三种不同的调度策略，不同的策略会消耗不同的系统资源。1、相邻的用户不能使用相同的调度策略，例如，第1个用户使用了 A策略，则第2 个用户只能使用 B或者 C 策略.3、每个用户依次选择当前所能选择的对系统盗源消耗最少的策略(局部最优)，如果有多个满足要求的策略，选最后一个。示例说明： 1号用户使用 B策略，2号用户使用C策略，3号用户使用B策略。]]></description><category></category></item><item><title><![CDATA[华为OD机考真题 Linux 发行版的数量（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146227451</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146227451</guid><author>lovely_compiler</author><pubDate>Thu, 13 Mar 2025 12:21:45 +0800</pubDate><description><![CDATA[这些发行版互相存在关联，例如 Ubuntu 基于 Debian 开发，而 Mint 又基于 Ubuntu 开发，那么我们认为 Mint 同 Debian 也存在关联。给你一个 n x n的矩阵 isConnected，其中 isConnected[i][j] = 1 表示第 i 个发行版和第 j 个发行版直接关联，而 isConnectedlI = 0 表示二者不直接相连。发行版集是一个或多个相关存在关联的操作系统发行版，集合内不包含没有关联的发行版。输出最大的发行版集中发行版的数量。]]></description><category></category></item><item><title><![CDATA[【华为机试】玩牌高手（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146201455</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146201455</guid><author>lovely_compiler</author><pubDate>Wed, 12 Mar 2025 12:05:53 +0800</pubDate><description><![CDATA[在每轮里选手可以选择获取该轮牌面，则其总分数加上该轮牌面分数，为其新的总分数。选手也可不选择本轮牌面直接跳到下一轮，此时将当前总分数还原为3轮前的总分数，若当前轮次小于等于3（即在第1、2、3轮选择跳过轮次），则总分数置为0。第七轮如果不选择该轮牌面，则总分数还原到3轮1前分数，即第四轮的总分数4，如果选择该轮牌面，总分数为11，所以选择该轮牌面。第一行为一个小写逗号分割的字符串，表示n轮的牌面分数，1<= n <=20。第二轮不选择该轮牌面，总分数还原为0。第三轮不选择该轮牌面，总分数还原为0。]]></description><category></category></item><item><title><![CDATA[华为OD机试真题---机房布局（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146176472</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146176472</guid><author>lovely_compiler</author><pubDate>Tue, 11 Mar 2025 13:30:29 +0800</pubDate><description><![CDATA[机房布局问题描述如下：小明正在规划一个大型数据中心机房，为了使得机柜上的机器都能正常满负荷工作，需要确保在每个机柜边上至少要有一个电箱。为了简化题目，假设这个机房是一整排，M表示机柜，I表示间隔，要求返回整排机柜至少需要多少个电箱。如果无解则返回-1。一个字符串cabinets，其中M表示机柜，I表示间隔。字符串长度满足1 ≤ strlen(cabinets) ≤ 10000。例如：其中M表示机柜，I表示间隔返回整排机柜至少需要多少个电箱。


表示至少需要2个电箱补充说明：1<= strlen(cabin]]></description><category></category></item><item><title><![CDATA[【华为OD机考真题】- 星际篮球争霸赛（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146153281</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146153281</guid><author>lovely_compiler</author><pubDate>Mon, 10 Mar 2025 13:59:28 +0800</pubDate><description><![CDATA[可以并列，所以宇宙战队决定在比赛中，尽可能让更多队员上场,并且让所有得分的选手得分都相同，然而比赛过程中的每1分钟的得分都只能由某一个人包揽。在星球争霸篮球赛对抗赛中，最大的宇宙战队希望每个人都能拿到 MVP，MVP 的条件是单场最高分得分获得者。示例说明： 样例解释 一共 4人得分，分别都是6分：5+1，5+1，5+1，2+2+2。输入第一行为一个数字 t，表示为有得分的分钟数 1<=t <= 50，第二行为t个数字，代表每一分钟的得分p,1<=t <= 50.]]></description><category></category></item><item><title><![CDATA[华为OD机试真题---最大花费金额]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146130864</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146130864</guid><author>lovely_compiler</author><pubDate>Sun, 09 Mar 2025 13:06:28 +0800</pubDate><description><![CDATA[一、题目描述双十一众多商品进行打折销售，小明想购买自己心仪的一些物品，但由于受购买资金限制，所以他决定从众多心仪商品中购买三件，而且想尽可能的花完资金。现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。输入：第一行为一维整型数组m，数组长度小于100，数组元素记录单个商品的价格，单个商品价格小于1000。第二行为购买资金的额度r，r小于100000。输出：输出为满足上述条件的最大花费额度。二、解题思路这道题目主要考察组合算法以及算法优化能力。]]></description><category></category></item><item><title><![CDATA[【华为OD机考真题】- 路灯照明（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146114749</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146114749</guid><author>lovely_compiler</author><pubDate>Sat, 08 Mar 2025 13:17:55 +0800</pubDate><description><![CDATA[注:这里需要注意照明半径大于100时，需要判断当前灯半径是否大于前一个灯半径-100，如果是大于则将当前灯半径传给下一个灯，如果小于则，将前一个灯半径-100传给下一个灯。示例说明： 50+70>100，70+20<100,20+70<100,所以有 两个未要盖的区间，总里程为 10+10=20。第二行为 N 个空格分割的数，表示路灯的照明半径，1 <= 照明半径。第一行为一个数 N，表示路灯个数：1 <= N <= 100000，无法照明的区间的长度和。]]></description><category></category></item><item><title><![CDATA[华为OD机试真题---字符串重新排序（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146095583</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146095583</guid><author>lovely_compiler</author><pubDate>Fri, 07 Mar 2025 14:43:32 +0800</pubDate><description><![CDATA[给定一个字符串s，s包括以空格分隔的若干个单词。单词内部调整：对每个单词字母重新按字典序排序。]]></description><category></category></item><item><title><![CDATA[【华为OD题库-040】计算最接近的数-java]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146069570</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146069570</guid><author>lovely_compiler</author><pubDate>Thu, 06 Mar 2025 14:35:22 +0800</pubDate><description><![CDATA[在下标为0的表达式 值为  X[0]-X[1]-X[i+k-1] 这里i+k-1=2，意味着i+k-1为上限的下标值为2，以此类推，当i=5时，表达式的值为X[5]-X[6]-X[5+3-1]这里i+k-1 = 7,已经超出了X的下标，所以这里上限下标应该是X数组的lenght=7。根据题目得知，表达式X[i]-x[i+1]…-X[i+k-1]，来计算生成的值，如果X数组有i个值，那么表达式生成的数为i-1个。2、计算结果为1:X[50,50,2,3]根据题目计算X[i]-x[i+1]…]]></description><category></category></item><item><title><![CDATA[【2023华为OD机试题】分奖金]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146039408</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146039408</guid><author>lovely_compiler</author><pubDate>Wed, 05 Mar 2025 11:53:47 +0800</pubDate><description><![CDATA[公司老板做了一笔大生意，想要给每位员工分配一些奖金，想通过游戏的方式来决定 每个人分多少钱。按照工号的顺序 往后排列，遇到第一个数字比自己数字大的，那么，前面的员工就可以获得“ 距离 * 数字差值 ”的奖金。那么第2个员工的数字10比第1个员工 的数字2大，所以，第1个员工可以获得1*（10-2）=8。第2个员工后面没有比他数 字更大的员工，所以，他获得他分配的随机数数量的奖金，就是10。第3个员工是最 后一个员工，后面也没有比他更大数字的员工，所以他得到的奖金是3。第二是每位员工分配的随机数字。]]></description><category></category></item><item><title><![CDATA[AI面板识别 - 华为OD统一考试（java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146017948</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146017948</guid><author>lovely_compiler</author><pubDate>Tue, 04 Mar 2025 15:56:27 +0800</pubDate><description><![CDATA[其实就是先按行，再按列进行排序，这里的行不是严格的行（在一定范围内可以认为是同行）。数据量不大可以直接按照题目要求进行模拟得到答案。使用map分别对编号和坐标进行存储，再根据坐标分别排序即可。由于AI识别误差，每次别到的指示灯位置可能有差异，以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1，右下角x2,y2)，AI识别到面板上有N（1 ≤ N ≤ 100）个指示灯，灯大小一样，任意两个之间无重叠。排序后的编号列表，编号之间以空格分隔。编号 x1 y1 x2 y2。题目就是一道模拟排序题。]]></description><category></category></item><item><title><![CDATA[华为od机试-缓存需要最少金币数 /静态扫描(java)]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/146001418</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/146001418</guid><author>lovely_compiler</author><pubDate>Mon, 03 Mar 2025 22:31:47 +0800</pubDate><description><![CDATA[文件大小相同，扫描成本均为1个金币。3、扫描报告缓存后，后继再碰到该文件则不需要扫描成本，直接获取缓存结果给出。1、文件扫描的成本和文件大小相关，如果文件大小为N，则扫描成本为N个金币。文件标识序列和文件大小序列，求解采用合理的缓存策略，最少需要的金币数。2、扫描报告的缓存成本和文件大小无关，每缓存一个报告需要M个金币。第二行为文件标识序列: F1,F2,F3,....,Fn。第三行为文件大小序列: S1,S2,S3,....,Sn。采用合理的缓存策略，需要的最少金币数。]]></description><category></category></item><item><title><![CDATA[【华为OD机考真题】- 求最多可以派出多少支团队（Java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145972021</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145972021</guid><author>lovely_compiler</author><pubDate>Sun, 02 Mar 2025 22:44:16 +0800</pubDate><description><![CDATA[题目： 用数组代表每个人的能力，一个比赛活动要求参赛团队的最低能力值为N，每个团队可以由1人或2人组成，且1个人只能参加1个团队，请计算出最多可以派出多少支符合要求的团队?第二行数组代表每个人的能力，每个元素的取值范围[1,500000]，数组的大小范围[1,500000].示例说明： 3,5 组成一队，1,7 组成一队，9 自己一个队，故输出 3。第三行数值为团队要求的最低能力值，范围[1,500000].第一行数组代表总人数，范围[1,500000].最多可以派出的团队数量。]]></description><category></category></item><item><title><![CDATA[华为OD-E卷 - 最大矩阵和 100分（java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145965916</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145965916</guid><author>lovely_compiler</author><pubDate>Sun, 02 Mar 2025 17:00:07 +0800</pubDate><description><![CDATA[输入的第一行包含2个整数n, m(1 <= n, m <= 10)，表示一个n行m列的矩阵，下面有n行，每行有m个整数，同一行中，每2个数字之间有1个空格，最后一个数字后面没有空格，所有的数字的在[-1000, 1000]之间。给定一个二维整数矩阵，要在这个矩阵中选出一个子矩阵，使得这个子矩阵内所有的数字和尽量大，我们把这个子矩阵称为和最大子矩阵，子矩阵的选取原则是原矩阵中一块相互连续的矩形区域。将每一个小矩形的长宽情况都列举出来，再根据每次所列出的长宽，将给出的大矩形切割，获得最大和。]]></description><category></category></item><item><title><![CDATA[华为机试真题 java实现【最短木板长度】【2022.11 q4 新题】]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145937968</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145937968</guid><author>lovely_compiler</author><pubDate>Fri, 28 Feb 2025 21:05:37 +0800</pubDate><description><![CDATA[小明有 n 块木板，第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。小明买了一块长度为 m 的木料，这块木料可以切割成任意块，拼接到已有的木板上，用来加长木板。小明想让最短的模板尽量长。请问小明加长木板后，最短木板的长度可以为多少？输入的第一行包含两个正整数，n（1≤n≤10^ 3),m（1≤m≤10^ 5） n表示木板数，m表示木板长度。输入的第二行包含n个正整数，a1,a2…au（1≤ai≤10^6)。]]></description><category></category></item><item><title><![CDATA[华为OD机试真题 Java 实现 [箱子之形摆放]]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145917099</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145917099</guid><author>lovely_compiler</author><pubDate>Fri, 28 Feb 2025 00:32:32 +0800</pubDate><description><![CDATA[注：本文章，我认为题目表达的意思是这样，路线为z字，宽度n为 行高。我仅是根据我的理解来编写的代码，如有偏颇，请担待！要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地，请输出箱子的摆放位置。输入一行字符串，通过空格分隔，前面部分为字母或数字组成的字符串 str，表示箱子；后面部分为数字 n，表示空地的宽度。例如： ABCDEFG 3。有一批箱子（形式为字符串，设为 str），请不要在最后一行输出额外的空行。箱子摆放结果，如题目示例所示。str只包含字母和数字，]]></description><category></category></item><item><title><![CDATA[华为机试：最远足迹(java)]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145890003</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145890003</guid><author>lovely_compiler</author><pubDate>Wed, 26 Feb 2025 22:19:26 +0800</pubDate><description><![CDATA[仪器记录坐标时，坐标的数据格式为(x,y)，如(1,2)、(100,200)，其中0<x<1000，0<y<1000。同时存在非法坐标，如(01,1)、(1,01)，(0,100)属于非法坐标。记录仪中的合法坐标有3个： (3,10)， (3,4)， (5,10)，其中(5,10)是相距总部最远的坐标， 输出(5,10)。备注：不需要考虑双层括号嵌套的情况，比如sfsdfsd((1,2))。设定探险队总部的坐标为(0,0)，某位置相对总部的距离为：x * x+ y * y。字符串，表示最远足迹到达的坐标。]]></description><category></category></item><item><title><![CDATA[智能驾驶 - 华为OD统一考试(C卷)（java）]]></title><link>https://blog.youkuaiyun.com/lovely_compiler/article/details/145863752</link><guid>https://blog.youkuaiyun.com/lovely_compiler/article/details/145863752</guid><author>lovely_compiler</author><pubDate>Tue, 25 Feb 2025 22:22:57 +0800</pubDate><description><![CDATA[注：我的这种方法是比较取巧的，在考虑有两个加油站的时候，并没有选择省油的路径，而是，经过了两个加油站。所以比较取巧，在有加油站的情况下，只考虑了终点到加油站的最短距离，加油站到加油站的最短距离，加油站到终点的最短距离，只能说勉强符合题目。的地图的左上角（起点）开往地图的右下角（终点 ），去往每一个地区都需要消耗一定的油量，加油站可进行加油。的矩阵，其中的值是 0 或 −1 或正整数，加油站的总数不超过 200个。−1：表示加油站，可以加满油，汽车的油箱容量最大为 100；]]></description><category></category></item></channel></rss>