Java
文章平均质量分 73
小王毕业啦
搬砖工作,赚钱养家,分享资源如有失效,可以@我哦,欢迎交流!
展开
-
华为OD刷题C卷 - 每日刷题38(万能字符单词拼写,虚拟理财游戏)
然后,遍历单词中的每个字符,检查该字符是否在control中。如果不在,但还有万能字符,就减少万能字符的数量;它提供了一个Java类Main,其中包含main方法和getResult方法,以及一个辅助方法success,用于计算使用给定字符chars能拼写出的单词words中的单词个数。main方法首先读取单词数组words的个数和每个单词,然后读取掌握的字符control。getResult方法遍历所有单词,并使用success方法检查每个单词是否能使用control中的字符拼写。如果能,计数器加一。原创 2024-06-19 09:58:25 · 682 阅读 · 2 评论 -
华为OD刷题C卷 - 每日刷题37(CPU算力分配,API集群负载统计)
它提供了一个Java类Main,其中包含main方法和swap方法,用于找出两组服务器中用于交换的CPU的算力,使得两组服务器的总算力相等,并要求从A组服务器中选出的CPU算力尽可能小。swap方法首先计算两组服务器的总算力,然后找出需要交换的CPU算力的差值target。接着,对A组服务器的CPU算力进行升序排序,并通过遍历和查找来找出满足条件的最小CPU算力。最后,返回A组和B组中用于交换的CPU算力。main方法首先读取A组和B组服务器中CPU的数量,然后读取每组服务器中各个CPU的算力值。原创 2024-06-18 16:03:01 · 644 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题36(剩余银饰的重量,最大坐标值、小明的幸运数)
然后,使用循环每次从列表末尾移除三个最重的银饰,并根据题目描述计算熔化后剩余的银饰重量。它提供了一个Java类Main,其中包含main方法和getMaxCoordinate方法,用于计算小明在游戏中达到的最大坐标值。main方法首先读取银饰的个数n,然后读取每个银饰的重量并存储到LinkedList中。最后,根据列表中的银饰数量,返回剩余银饰的重量。main方法首先读取指令的总数n,然后读取幸运数m和n个指令。最后,对坐标值列表进行降序排序,并返回列表中的第一个元素,即小明达到的最大坐标值。原创 2024-06-18 15:58:19 · 489 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题35(传递悄悄话,最多购买宝石数目)
通过移动右指针来扩展当前窗口,当窗口内宝石的总价不超过预算时,继续增加窗口大小。在遍历过程中,对于每个节点,计算其子节点的到根节点的累积时间,并更新最长时间maxTime。它提供了一个Java类Main,其中包含main方法和maxBuy方法,用于计算在给定的预算下,可以购买的连续宝石的最大数量。它提供了一个Java类Main,其中包含main方法,用于计算在给定的二叉树中,所有节点都接收到悄悄话所需的最长时间。main方法首先读取宝石的数量n和宝石的价格数组gems,然后读取拥有的钱v。原创 2024-06-17 09:00:00 · 289 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题34(内存冷热标记,电脑病毒感染)
使用Dijkstra算法的思想,通过优先队列(PriorityQueue)和已访问标记数组(visited)来找到从源点到网络内所有电脑的最短感染时间。使用Java 8的流(Stream)和Lambda表达式对剩余的页框号按照访问频次降序、页框号升序进行排序,并打印出每个热内存页框号及其访问频次。然后,读取每条网络连接的详细信息,包括连接的起点、终点和感染时间,构建一个邻接表表示网络。它提供了一个Java类Main,其中包含main方法和markHot方法,用于根据内存页的访问频次进行冷热标记。原创 2024-06-17 08:30:00 · 319 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题33(小华最多能得到多少克黄金,智能成绩表)
如果当前方格的横纵坐标数位之和不大于k,并且方格未被访问过,则标记为已访问,并将该方格的黄金计入总数ans。它提供了一个Java类Main,其中包含main方法和dfs方法,以及辅助变量和getDigitSum方法,用于计算小华在地图上能收集到的最多黄金数量。它提供了一个Java类Main,其中包含main方法和solution方法,用于根据指定科目的成绩对一群学生进行排序。getDigitSum方法用于计算从0到n-1每个数的数位之和,存储在数组digitSum中,以便快速检查横纵坐标数位之和。原创 2024-06-16 08:45:00 · 531 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题32(执行任务赚积分,计算三叉搜索树的高度)
遍历所有任务,如果当前时间小于任务的最晚处理时间,则将任务积分添加到列表中,并更新当前时间。如果当前时间已经过了任务的最晚处理时间,则使用列表中的最小积分与当前任务积分进行比较,保留积分较高的任务。main方法首先读取任务数量n和可用于处理任务的时间t,然后读取每个任务的最晚处理时间限制和积分值,存储在二维数组wos中。它提供了一个Java类Main,其中包含main方法和getResult方法,用于计算在有限的时间内,处理任务可以获得的最多积分。在插入过程中,同时更新节点的高度和树的当前最大高度。原创 2024-06-16 08:30:00 · 587 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题31(园区参观路径,围棋的气)
main方法首先读取黑棋和白棋的坐标,然后创建一个19x19的棋盘数组,将黑棋和白棋的位置分别标记为1和2。通过遍历园区布局,如果当前位置可以参观,则更新dp数组,将到达该位置的路径数量设置为从上方和左方到达的路径数量之和。它提供了一个Java类Main,其中包含main方法和getResult方法,以及一个未使用的dfs方法,用于计算从园区起点到终点的不同参观路径数量。main方法首先读取园区的长和宽,然后读取园区的布局信息,其中0表示可以参观,1表示不能参观。最后,打印出黑棋和白棋的气的数量。原创 2024-06-15 09:00:00 · 689 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题30(小明找位置,分隔均衡字符串)
如果小明的学号不在数组中,binarySearch方法将返回插入点的负索引,代码将其转换为正索引,并加1以符合题目要求的从1开始的序列。main方法首先读取输入的均衡字符串,然后初始化计数器countX和countY来记录字符’X’和’Y’的数量。这段代码是解决“小明找位置”的问题。它提供了一个Java类Main,其中包含main方法,用于计算给定均衡字符串可以分割成的新的均衡子串的最大个数。main方法首先读取已排列好的小朋友的学号数组和小明的学号,然后调用getResult方法并打印小明应该站的位置。原创 2024-06-15 08:45:00 · 404 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 29(机器人仓库搬砖,爱吃蟠桃的孙悟空)
它提供了一个Java类Main,其中包含main方法和getMinEnergy方法,用于计算机器人每小时充能的最小能量格数,以确保在8小时内搬完所有砖块。它提供了一个Java类Main,其中包含main方法和getResult方法,用于计算孙悟空在H小时内吃完所有桃子的最小速度K。main方法首先读取每颗桃树上的桃子数量数组和守卫离开的时间H,然后调用getResult方法并打印出孙悟空的最小吃桃速度。main方法首先读取输入的砖块数量数组,然后调用getMinEnergy方法并打印出所需的最小能量格数。原创 2024-06-14 09:00:00 · 484 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 28(转盘寿司、开源项目热度榜单)
getDiscount方法遍历价格数组,对于每个价格,尝试找到其后面第一个价格更低的寿司盘,如果找到,则将该低价寿司的价格加到当前寿司的价格上。如果没有找到,则不进行任何操作。接着,对于每个价格,也从数组开头向前遍历,寻找更低的价格并累加,直到找到或遍历到当前价格之前。main方法首先读取开源项目的个数n和权重值列表,然后读取每个项目的统计维度并计算每个项目的热度值。接下来,使用Arrays.sort对项目数组进行排序,排序规则是:首先根据热度值降序排序,如果热度值相同,则根据项目名全小写后的字典序排序。原创 2024-06-14 08:30:00 · 522 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 27(游戏分组,分配土地)
它提供了一个Java类Main,其中包含main方法和getResult方法,以及一个辅助方法dfs,用于计算将10名游戏爱好者分为两队时,两队实力差绝对值的最小值。通过遍历矩阵,更新每个数字的坐标范围。dfs方法是一个递归函数,用于生成10名参与者的所有可能组合,并计算每个组合的战斗力之和。最后,main方法遍历HashMap中的所有条目,计算每个数字所占的最大矩形面积,并找出所有矩形面积中的最大值。最后,getResult方法计算所有组合的战斗力之和与总战斗力之和的差异,并找出这些差异的最小值。原创 2024-06-13 09:00:00 · 772 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 26(学生重新排队,分月饼)
方法中使用了参数min和max来控制当前员工分配的月饼数量范围,以及remain来记录剩余的月饼数。它提供了一个Java类Main,其中包含main方法和getResult方法,以及一个内部类Block,用于计算老师最少需要调整多少次队伍,才能让同组学生彼此相连。它提供了一个Java类Main,其中包含main方法和getResult方法,用于计算在给定条件下分月饼的方法数。main方法首先读取学生目前的排队情况和随机抽签分组情况,然后调用getResult方法并打印所需的最小调整次数。原创 2024-06-13 08:45:00 · 643 阅读 · 2 评论 -
华为OD刷题C卷 - 每日刷题 25(找座位,密码输入检测)
maxSeat方法通过遍历座位字符串来计算可以坐下的观众数量。如果遇到空座位(用’0’表示),则检查其左右是否至少有一侧是空的,如果是,则该座位可以坐下一个人,并且标记为已坐(用’1’表示)。最后,根据密码安全要求,判断密码是否合法,并返回密码字符串和布尔值表示的合法性。它提供了一个Java类Main,其中包含main方法和check方法,用于处理用户输入的密码字符串,并判断密码是否满足安全要求。main方法首先读取输入的密码字符串,然后调用check方法并打印最终的密码字符串和是否满足安全要求的结果。原创 2024-06-12 09:00:00 · 764 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 24(最富裕的小家庭,最长子字符串的长度)
因为在环形字符串中去掉一个’o’可以使剩余部分的’o’个数为偶数,从而得到最长的满足条件的子字符串。通过遍历输入的家庭成员关系,将子节点的财富值累加到其父节点的。方法首先统计字符串中’o’字符的个数。如果’o’的个数为偶数,则直接返回字符串的长度。方法,用于计算给定家庭成员关系和财富值的情况下,最富裕的小家庭的财富和。这段代码是解决“最长子字符串的长度(一)”的问题。方法,用于找出环形字符串中’o’字符出现次数为偶数的最长子字符串的长度。如果’o’的个数为奇数,则返回。数组中的最大值,并打印出来。原创 2024-06-12 08:45:00 · 415 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 23(提取字符串中的最长表达式,模拟目录管理功能 - 完整实现)
Tree 类包含了目录树的数据结构和基本操作,如创建目录、切换目录和获取当前路径。目标是从一个给定的字符串中提取出最长的合法简单数学表达式,并计算该表达式的值。如果存在多个同样长度的合法表达式,则选择第一个出现的表达式进行计算。main 方法处理标准输入中的命令序列,并根据命令更新目录树的状态,最终输出最后一条命令的执行结果。如果有多个相同长度的合法表达式,选择第一个出现的表达式。表达式中操作符不能连续出现,例如"±-+1"是非法的。只包含0-9的数字和+、-、*三种运算符。表达式必须是最长的合法表达式。原创 2024-06-11 11:29:50 · 785 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 22(计算面积、绘图机器,信道分配)
它提供了一个Java类Main,其中包含main方法和getResult方法,以及辅助方法binary_sub和cals_bin,用于计算最多可以为多少用户传输数据。main方法首先读取信道的最大阶数R,每种信道的数量N数组,以及单个用户需要传输的数据量D。在循环结束后,如果end_X大于上一个点的横坐标last_X,则计算从上一个点到end_X的面积,并将其添加到总面积中。cals_bin方法用于计算一个二进制数组表示的十进制数值,用于在binary_sub方法中计算信道的总容量。原创 2024-06-11 11:18:57 · 616 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 21(按身高和体重排队,解密犯罪时间)
三段代码都展示了基本的排序和搜索算法思想:第一段和第二段代码通过自定义排序规则来解决学生的排序问题,其中第二段代码提供了一个更面向对象的解决方案;通过流排序,首先按身高升序排序,身高相同的情况下按体重升序排序,体重也相同的情况下按学生编号升序排序。数组进行排序,排序规则是:优先按身高升序、身高相同按体重升序、体重也相同的情况下按学生编号升序。方法,用于根据给定的时间字符串,找出所有可能的合法时间,并输出距离给定时间最近的下一个时间。方法,用于根据学生的身高和体重对学生进行排序,并输出排序后的学生编号。原创 2024-06-10 09:15:00 · 742 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 20(数组去重和排序、整数对最小和)
方法首先创建一个列表来存储所有可能的整数对的和。通过嵌套循环计算两个数组中所有元素对的和,并将它们添加到列表中。然后,对列表进行排序,最后取出前k个和,将它们相加得到最小和。方法,用于删除数组中的所有重复元素,并按照元素出现次数从高到低进行排序,相同出现次数的元素按照第一次出现的顺序排序。通过流排序,首先按出现次数降序排序,如果出现次数相同,则按第一次出现的索引升序排序。方法,用于计算从两个已排序数组中取出k对元素的最小和。的大小和内容,然后读取正整数k,接着调用。方法并打印最小的和。原创 2024-06-10 08:30:00 · 297 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 19(查找接口成功率最优时间段、最大N个数与最小N个数的和)
如果满足条件,就更新最长时间段的记录,并存储下标对。最后,将所有满足条件的最长时间段的下标对按从小到大排序并返回。最后,使用双指针技术计算最大N个数与最小N个数的和。方法首先检查输入的合法性,包括数组是否为空、数字是否在指定范围内。这段代码是解决“最大N个数与最小N个数的和”的问题。,用于找出数组中最长的时间段,该时间段内的平均失败率小于等于给定的容忍值。方法,用于计算数组中最大N个数与最小N个数的和,同时需要对数组进行去重。方法并打印满足条件的最长时间段的下标对。和数组内容,然后读取需要计算的个数。原创 2024-06-09 09:15:00 · 538 阅读 · 2 评论 -
华为OD刷题C卷 - 每日刷题 18(一个字符串来表示员工的出勤信息,字符串变换最小字符串)
然后,遍历员工的考勤记录,检查是否违反了获得出勤奖的条件,包括:缺勤不超过一次、没有连续的迟到/早退、任意连续7次考勤中缺勤/迟到/早退不超过3次。中该字符最后一次出现的位置上的字符进行交换。这样,只进行一次变换,就能得到变换后能得到的最小字符串。这段代码是解决“字符串变换最小字符串”的问题。方法,用于通过一次变换得到给定字符串的最小字典序字符串。转换为字符数组并对其进行排序,得到最小字典序的字符串。方法并打印所有员工是否能获得出勤奖的结果。方法遍历所有员工的考勤记录,并调用。方法并打印变换后的字符串。原创 2024-06-09 08:15:00 · 558 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 17(字符串序列判定,最长的指定瑕疵度的元音子串)
接着,使用双指针技术,通过维护一个滑动窗口来找出满足瑕疵度条件的最长元音子串。与第二段代码相比,这种方法减少了不必要的子串检查,提高了效率。方法来计算子串的瑕疵度。这段代码是解决“最长的指定瑕疵度的元音子串”的问题。方法,用于更高效地找出给定字符串中最长的、具有指定瑕疵度的元音子串。方法通过替换掉所有元音字母,计算剩余非元音字母的长度,即为瑕疵度。,用于找出给定字符串中最长的、具有指定瑕疵度的元音子串。这段代码是第二段代码的优化版本,它提供了一个Java类。方法并打印最长元音子串的长度。原创 2024-06-08 09:15:00 · 588 阅读 · 2 评论 -
华为OD刷题C卷 - 每日刷题 16(连续字母长度,拼接URL)
在遍历过程中,如果当前字符与前一个字符相同,则累加长度;方法,用于找出给定字符串中,按相同字母的最长连续子串长度排序后的第k长的子串的长度。中的值(即每个字符的最长连续子串长度)提取出来,降序排序,并转换为数组。方法,用于将给定的URL前缀和后缀按照URL拼接规则连接成一个完整的URL。),然后按照URL的拼接规则,使用一个斜杠将前缀和后缀连接起来。),以便于处理最后一个字符的状态。是否在数组的有效索引范围内,如果在,则返回第。中的记录,并重置当前字符和长度。方法并打印拼接后的URL。原创 2024-06-08 08:30:00 · 560 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 15(九进制转换,寻找身高相近的小朋友)
对于每一位数字,如果它大于4,则减1以修正九进制的表示错误(因为在九进制中不存在5-9的数字)。然后,根据该数字在九进制数中的位置,将其乘以相应的9的幂次方。最后,将所有修正后的数字相加得到最终的十进制数。排序时,首先比较身高差的绝对值,如果两个小朋友和小明的身高差绝对值相同,则比较他们的身高。这段代码是解决“寻找身高相近的小朋友”的问题。方法,用于将一个伪装成十进制数的九进制数转换为真正的十进制数。方法,用于根据小明和其他小朋友的身高差进行排序。将排序后的身高数组拼接成一个字符串,并返回。原创 2024-06-07 09:30:00 · 261 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 14(可以组成网络的服务器、用连续自然数之和来表达整数)
来存储待检查的服务器坐标,并通过邻接节点的检查来扩展局域网。方法,用于找出一个整数的所有可能的连续自然数之和的表达式,并打印每种表达式以及它们的个数。,代码可以找到所有可能的连续序列,并记录它们的起始索引和结束索引。方法使用滑动窗口技术来找出所有可能的连续自然数序列,这些序列的和等于目标整数。方法返回一个包含所有表达式和最终表达式个数的列表。,用于统计机房中最大的局域网包含的服务器个数。方法并打印所有可能的表达式和最终的表达式个数。方法进行广度优先搜索,以找到最大的局域网。方法返回最大的局域网大小。原创 2024-06-07 08:30:00 · 537 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 13(图像物体的边界,英文输入法)
并查集通过比较边界像素之间的距离来确定它们是否相邻,从而将属于同一个边界的像素合并到同一个集合中。方法首先找出所有与像素5相邻的像素1的格子,并将它们作为边界存储在。这段代码是解决“图像物体的边界”的问题。这段代码是解决“英文输入法”的问题。方法首先读取一段由英文单词和标点符号组成的语句。变量存储了最终的边界数量,并作为结果返回。类,用于计算像素1代表的物体的边界个数。方法,用于实现英文输入法的单词联想功能。然后,遍历单词数组,使用。将排序后的单词序列拼接成字符串并返回。方法并打印匹配到的单词序列。原创 2024-06-06 09:30:00 · 517 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 12(数组连续和,求最多可以派出多少支团队)
然后使用双指针技术,从数组的两端开始,先计算能够单独组队的人数(即能力值大于等于。这段代码是解决“求最多可以派出多少支团队”的问题。),代码可以找到所有满足条件的连续区间。方法,用于计算在给定最低能力值要求下,最多可以组成多少支团队。这段代码是解决“数组连续和”的问题。方法,用于计算给定数组中有多少个连续区间的和大于等于给定值。时,由于数组中的数都是正整数,可以确定从当前右指针。开始向左直到数组末尾的所有区间的和也都大于等于。向右移动,寻找下一个可能的团队组合。,然后读取每个人的能力值数组。原创 2024-06-06 08:30:00 · 465 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 10(连续出牌数量,字符串筛选排序)
方法是一个递归函数,用于尝试所有可能的出牌顺序。它遍历所有卡牌,如果一张卡牌可以跟随上一张卡牌(即颜色或数字相同),则将其标记为已使用,并递归地继续出牌。每次递归调用都会增加出牌数量,并在回溯时恢复卡牌状态(即将卡牌标记为未使用)。个最小ASCII码值的字符),并返回该字符在原始字符串中第一次出现的索引。个最小ASCII码值的字母在字符串中的位置索引。数组来存储每张卡牌的信息,然后使用一个布尔数组。方法首先读取手牌的数字和对应的颜色,然后调用。来跟踪已经打出的卡牌。类,用于定义卡牌的颜色和数字。原创 2024-06-05 08:30:00 · 354 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 11(执行时长,素数之积)
方法,用于计算在保证GPU不空闲情况下,执行完成所有任务所需的最短时间。方法通过遍历任务数组,计算每秒钟能完成的任务数,并更新剩余未完成的任务数。最后,如果还有剩余任务,继续计算所需时间直到所有任务完成。,则计算出新的剩余任务数。这段代码是解决“素数之积”的问题。如果加上剩余任务数后超过了GPU一次执行的最大任务数。方法用于判断一个数是否为素数,通过检查从2到。,用于找出一个32位正整数的两个素数因子。是否都是素数,如果都是,则通过。是否为素数,如果是,则返回。方法,以及一个辅助方法。方法并打印分解结果。原创 2024-06-05 09:15:00 · 569 阅读 · 1 评论 -
华为OD刷题C卷 - 每日刷题 9(找朋友,寻找众数和中位数)
最后,根据列表的大小(奇数或偶数)来计算中位数。如果列表大小为偶数,则中位数是中间两个数字的平均值。对于每个小朋友(由左指针表示),代码会移动右指针来寻找第一个比自己高的小朋友。如果找到,将该小朋友的位置(即右指针的索引加1)添加到结果中;方法使用双指针技术来找出每个小朋友的好朋友位置。方法首先统计数组中每个数字出现的次数,并将结果存储在。来拼接所有的结果,并返回拼接后的字符串。方法,用于计算众数组成的新数组的中位数。方法,用于找出每个小朋友的好朋友位置。,然后读取每个小朋友的身高并存储到数组。原创 2024-06-04 08:32:05 · 296 阅读 · 3 评论 -
华为OD刷题C卷 - 每日刷题 8(整形数组按个位值排序,停车场车辆统计)
排序依据是每个字符串的最后一个字符(即整数的个位数值)。从标准输入读取一行文本,该文本包含一个由逗号分隔的整数数组。这段代码是解决“整形数组按个位值排序”的问题。这段代码是解决“停车场车辆统计”的问题。方法将排序后的字符串数组重新组合成一个由逗号分隔的字符串。读取一行文本,该文本是一个由逗号分隔的整数数组。方法的目的是统计字符串中最少可以停多少辆车。方法,用于读取输入、执行排序并打印结果。方法,用于计算停车场最少可以停多少辆车。最后,返回字符串的长度,即最少停车数目。最后,打印出排序后的字符串。原创 2024-06-04 08:28:58 · 494 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 7(字符串分隔(二)、欢乐的周末)
在处理地图时,代码会记录小华和小为的位置,以及所有聚餐地点的位置。然后,遍历地图上的每个单元格,如果单元格不是障碍物,则将其与相邻的非障碍物单元格合并(在并查集中的术语是“union”)。接着,代码会找到小华和小为所在连通分量的根节点,并检查这两个根节点是否相同。如果小华和小为在同一个连通分量中,代码将继续遍历所有聚餐地点,并检查每个地点是否也在该连通分量中。个字符组成新的子串,并根据子串中大写字母和小写字母的数量进行大小写转换。,该方法接收一个地图的二维数组表示,地图上有通畅的道路(用。原创 2024-06-03 22:17:29 · 648 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 6 (求字符串中所有整数的最小和、求满足条件的最长子串的长度)
当遇到字母时,将其索引压入栈中,并更新字母的计数。如果字母计数超过1,则将左指针移动到上一个字母的下一个位置,并将左指针之前的字母索引从栈中移除。这段代码是解决“求字符串中所有整数的最小和”的问题。这段代码是解决“求满足条件的最长子串的长度”的问题。在遍历字符串的过程中,代码会根据字符是数字还是符号(方法对栈中的所有数字进行求和操作,并返回结果。在遍历过程中,代码会更新满足条件的最长子串长度。,并返回字符串中包含的所有整数的最小和。最后,如果整个字符串中没有字母,则返回。,并返回满足条件的最长子串的长度。原创 2024-06-03 22:14:50 · 440 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 5
之间找到两个元素,使得这三个元素的和为0。接着,代码使用三重循环来找到所有和为0的三元组。对于数组中的每个元素。这段代码是解决“最接近的三数之和”问题。任务是找出数组中所有唯一的三元组,使得这些三元组的和为0。任务是找到一个由三个数组元素组成的和,这个和要尽可能接近。这段代码是解决“三数之和”问题。之间找到两个元素,使得这三个元素的和尽可能接近。代码首先对数组进行排序,然后初始化一个变量。最后,返回包含所有和为0的三元组的列表。的三数之和的差值,以及一个变量。来保存最接近的三数之和。如果找到的三数之和与。原创 2024-06-02 09:30:00 · 500 阅读 · 2 评论 -
华为OD刷题C卷 - 每日刷题 4
通过遍历输入的罗马数字字符串,代码会检查当前字符表示的数值与下一个字符表示的数值之间的关系。如果当前字符的数值小于下一个字符的数值,则从。代码首先检查输入数组是否为空或者没有任何字符串,如果是,则直接返回空字符串。这个方法通过比较两个字符串的每个字符,直到找到不匹配的位置,从而确定两个字符串的公共前缀。如果在任何时候,公共前缀的长度变为0,说明不存在公共前缀,循环将终止。接着,通过遍历数组中的其余字符串,并使用辅助方法。,该方法接收一个表示罗马数字的字符串。,并找出这些字符串中的最长公共前缀。原创 2024-06-02 08:15:00 · 362 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 3
面积由两边的高度中的较小值和两边的距离决定。当较小边的指针移动后,如果新的边的高度小于等于之前计算的最小高度,则继续移动,因为这样可以得到更大的面积。通过不断移动较小边的指针,来计算当前容器的面积,并更新最大面积。最后,将所有行的结果拼接起来形成最终的Z字型字符串。通过这种方式,代码不断更新最大面积,并最终返回计算得到的最大水量。的移动方向,因为Z字型的行在第一行和最后一行时方向会反转。中的每个字符,将其添加到当前行,并根据当前行的位置更新。的长度,则直接返回原始字符串,因为不需要变换。原创 2024-06-01 09:15:00 · 698 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 2
在动态规划的过程中,如果两端的字符相等,并且剩余的子串(如果长度大于2)也是回文串,则当前子串也是回文串。同时,更新最大回文子串的长度。首先初始化了单个字符都是回文串,然后通过动态规划的方法,逐一检查更长的子串是否为回文。这段代码是解决“无重复字符的最长子串”问题。,并返回该字符串中无重复字符的最长子串的长度。,分别代表当前考虑的子串的左边界和右边界。指针的移动,如果遇到重复字符,则将。,并返回该字符串中最长的回文子串。范围内的子串没有重复字符。指针时,更新最长子串的长度。,该方法接收一个字符串。原创 2024-06-01 08:30:00 · 539 阅读 · 0 评论 -
华为OD刷题C卷 - 每日刷题 1
然后,它使用一个循环来遍历两个链表,直到两个链表都遍历完毕。在每次循环中,它计算两个链表当前节点的值加上进位的和,然后更新进位。这段代码使用了哈希表来优化查找过程,使得算法的时间复杂度为O(n),而不是暴力解法的O(n^2)。这段代码通过模拟加法运算的过程,逐位相加并处理进位,从而实现了两个链表表示的整数相加的功能。,用来存储数组中的每个数字及其对应的下标。(即和的个位数),并将其链接到结果链表的末尾。接着,它创建一个新的链表节点,其值为。,并返回这两个整数的数组下标。,它指向表示两个数之和的链表。原创 2024-05-31 08:57:03 · 729 阅读 · 1 评论 -
Java开发大厂面试大揭秘:如何提高面试成功率?
今天我们分享了提高面试成功率的 N 个方法,它们主要分为三个维度:面试前分析、面试中展现和面试后复盘,如下图所示:祝愿每个看了本专栏的人都能获得自己心仪的 Offer。原创 2024-05-31 08:20:26 · 585 阅读 · 0 评论 -
Java开发大厂面试第34讲:Docker 是什么?它有什么优点?使用时需要注意什么问题?
今天我们分享了 Docker 的概念以及 Docker 中最重要的三个组件:镜像、容器和仓库,并且介绍了 Docker 的 6 大特点:轻量级、灵活、可移植、相互隔离、可扩展和安全等特点;同时还介绍了 Docker 的常见使用命令;最后介绍了 Docker 可能在老版本(JDK 8u131 之前)的 Java 中可能会存在意外停止和线程创建过多的问题以及解决方案。原创 2024-05-30 10:17:15 · 1221 阅读 · 0 评论