自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 115.不同的子序列

dp[i][j]表示s的前s个字符中含有多少个t串的前j个字符,dp[0][0]表示两个空串匹配,所以赋值为1,同理,对于dp[[0~i][0]的数据全赋值为1。对于s[i]==t[j],分两种情况,要么使用s[i-1]这个字符进行匹配,要使用这个字符进行匹配的话,那么当且仅当t[j-1]也等于s[i-1]时才行,此时符合的情况等于dp[i-1][j-1],最后一个字符相同,比较前边的就是了。如果不使用s[i-1]时,那么就得从前边去找t[j-1]=t[j],dp[i][j]=dp[i-1][j];

2024-04-07 17:56:49 338

原创 120.三角形最小路径和

自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。dp[i][j]代表到第i行第j列的数之和,最后返回最后一行的最小数即可。第一行单独赋值,就不用考虑后续行数越界或者列数要不要减一的问题,但是对于第一个和最后一个数需要单独考虑,因为只有一个对应的。也就是说,如果正位于当前行的下标。每一步只能移动到下一行中相邻的结点上。,那么下一步可以移动到下一行的下标。,找出自顶向下的最小路径和。

2024-04-05 17:45:23 276

原创 2110: [蓝桥杯2023初赛] 矩形总面积

如果有相交部分,那么相交部分的左边界一定是按X坐标排序的第二个坐标,右边界是第三个。输入只有一行,包含 8 个整数,依次是:x1,y1,x2,y2,x3,y3,x4 和y4。(x3, y3) 和 (x4, y4) 依次是 R2 的左下角和右上角坐标。对于 100% 的数据,所有坐标的取值范围是 [0, 100000]。注意:如果 R1 和 R2 有重叠区域,重叠区域的面积只计算一次。对于 50% 的数据,所有坐标的取值范围是 [0, 1000]。对于 20% 的数据,R1 和 R2 没有重叠区域。

2024-04-02 09:00:09 275

原创 2109: [蓝桥杯2023初赛] 数组分割

现在小蓝想要从 A 对应的数组下标所构成的集合 I = {0, 1, 2, . . . , N − 1} 中找出一个子集 R1,那么 R1在 I 中的补集为 R2。1、加法律:(a+b) mod c = ((a mod c) + (b mod c)) mod c。2、减法律:(a-b) mod c = ((a mod c) - (b mod c)) mod c。3、乘法律:(a*b) mod c = ((a mod c) * (b mod c)) mod c。

2024-04-01 21:04:48 558

原创 2108: [蓝桥杯2023初赛] 幸运数字

同时 126 也是 16 进制下的哈沙德数,因为(126)10 = (7e)16,(126)10 mod (7 + e) = 0。第 1 至第 10 个幸运数字的十进制表示为:1, 2, 4, 6, 8, 40, 48, 72, 120, 126, ...。126也是八进制下的哈沙德数,因为(126)10 = (176)8,(126)10 mod (1 + 7 + 6) = 0;例如 126 是十进制下的一个哈沙德数,因为(126)10 mod (1+2+6) = 0;//根据对应进制转化得到各位数和。

2024-03-20 18:41:37 381

原创 2107: [蓝桥杯2023初赛] 阶乘求和

但是阶乘的增长速度很快,所以达到一定次数后亿位上的数会变成零,此后后九位的数字将不会发生变化,对10^9取模等于零,退出循环即可。,求S 的末尾 9 位数字。因为只取后九位,所以对于小于10^9的数可以直接相加,大于的对10^9取模即可,本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。提示:答案首位不为0。

2024-03-20 10:19:08 331

原创 P8732 [蓝桥杯 2020 国 ABC] 答疑

对于所有评测用例, 1≤�≤1000,1≤��≤60000,1≤��≤10000001≤n≤1000,1≤si​≤60000,1≤ai​≤1000000, ��∈{10000,20000,30000}ei​∈{10000,20000,30000} ,即 ��ei​ 一定是 10000、20000、3000010000、20000、30000 之一。其中第 �i 行包含三个整数 ��,��,��si​,ai​,ei​,意义如上所述。然后同学问问题老师解答,编号为 �i 的同学需要 ��ai​ 毫秒的时间。

2024-02-01 21:05:56 1486 1

原创 179最大数

/这里为什么加负号而下面不加,是因为要倒序要o2-o1,不加负号变成了正序。对于整体而言所有的位数是相等的,其中1113是一样的,没必要比较,对于后面的部分,我用的是。普通字符串用compareTo()方法比较即可,对于其中一个串是另一个串的子串时,如。,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。//如果结果以0开头那么剩下的都是0,直接返回0即可。输出结果可能非常大,所以你需要返回一个字符串而不是整数。stream流,具体见代码。

2024-02-01 17:18:18 320

原创 134.加油站

已有的油加上本站获得的油减去到下一站需要的油,如果小于零,说明不能往后开了,直接把下一站当做起点,没找到起点返回-1,找到了说明从起点到gas.length()-1的站点都符合要求,看它能否从gas.length()-1开回起点即可。此时油箱有 = 0 + 4 = 4 升汽油。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。

2024-01-31 15:20:12 996

原创 425.用最少数量的箭引爆气球

其实就是找公共子区间个数,可以先把数组按第一个数排序,但是用Arrays.sort()方法时不能直接o1[0]-o2[0],否则最后一个测试过不了。-在x = 11处发射箭,击破气球[10,16]和[7,12]。- 在x = 2处发射箭,击破气球[1,2]和[2,3]。- 在x = 4处射出箭,击破气球[3,4]和[4,5]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。处射出一支箭,若有一个气球的直径的开始和结束坐标为。你不知道气球的确切 y 坐标。每个气球需要射出一支箭,总共需要4支箭。

2024-01-25 15:26:23 372

原创 122.买股票的最佳时期

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。

2024-01-21 23:11:45 383

原创 P8799 [蓝桥杯 2022 国 B] 齿轮

他一共有 �n 个齿轮,第 �i 个齿轮的半径为 ��ri​, 他需要把这 �n 个齿轮按一定顺序从左到右组装起来,这样最左边的齿轮转起来之后,可以传递到最右边的齿轮,并且这些齿轮能够起到提升或者降低转速(角速度)的作用。小明看着这些齿轮,突然有 �Q 个疑问: 能否按一定顺序组装这些齿轮使得最右边的齿轮的转速是最左边的齿轮的 ��qi​ 倍?,��r1​,r2​,…输入共 �+2Q+2 行,第一行为两个正整数 �,�n,Q, 表示齿轮数量和询问数量。后面 �Q 行,每行一个正整数 ��qi​ 表示询问。

2024-01-21 20:53:14 1923

原创 55. 跳跃游戏

i+nums[i]即为当前格子能跳到的最远 的格子,遍历每一个格子,不断更新能到达的最远的格子,如果遇到0并且所有最远的点都只能到0,返回false;无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。

2023-12-02 19:49:56 30

原创 135. 分发糖果

思路:同时兼顾左右两边会顾此失彼,所以采用贪心算法思想,先统一向右看,右大于左,则右=左+1,然后向左看,如果左大于右,则左等于右+1和左的最大值,因为端点处的值可能没有参与增加运算。你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的。表示每个孩子的评分。

2023-11-30 17:31:39 53

原创 645. 错误的集合

不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

2023-11-26 20:03:09 34 1

原创 1033. 移动石子直到连续

每一回合,你可以从两端之一拿起一枚石子(位置最大或最小),并将其放入两端之间的任一空闲位置。形式上,假设这三枚石子当前分别位于位置。要使游戏结束,你可以执行的最小和最大移动次数分别是多少?将石子从 5 移动到 4 再移动到 3,或者我们可以直接将石子移动到 3。当你无法进行任何移动时,即,这些石子的位置连续时,游戏结束。拿起一枚石子,并将该石子移动到某一整数位置。思路:把这仨排序,计算出两个距离值中大的和小的。三枚石子放置在数轴上,位置分别为。我们无法进行任何移动。

2023-11-26 18:50:13 35 1

原创 941. 有效的山脉数组

如果它是有效的山脉数组就返回。让我们回顾一下,如果。

2023-11-19 21:24:09 27

原创 75. 颜色分类

对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。必须在不使用库内置的 sort 函数的情况下解决这个问题。给定一个包含红色、白色和蓝色、共。分别表示红色、白色和蓝色。解题思路:就仨字母,赋值就行。

2023-11-12 19:46:03 30

原创 136. 只出现一次的数字

除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

2023-11-12 19:12:30 29

原创 42. 接雨水(LeeCode困难级别)

上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。解题思路:先找到最高的桶边,然后用递归分别向左和向右找另一个桶边。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。

2023-09-12 17:31:17 42

原创 2584. 分割数组使乘积互质(LeeCode困难)

上表展示了每个下标 i 处的前 i + 1 个元素的乘积、剩余元素的乘积和它们的最大公约数的值。上表展示了每个下标 i 处的前 i + 1 个元素的乘积、剩余元素的乘积和它们的最大公约数的值。解题思路:乘积互质,那么节点前的因数都应该与节点后的因数互质。个元素的乘积和剩余元素的乘积互质,则认为该分割。返回可以有效分割数组的最小下标。,如果不存在有效分割,则返回。唯一一个有效分割位于下标 2。这两个值才是互质的,其中。超时是Java一生之痛,😔。

2023-09-11 13:20:39 40

原创 1057 数零壹

给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串,其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。

2023-08-14 18:16:24 35

原创 1056 组合数的和

给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

2023-08-14 18:14:17 41

原创 1046 划拳

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。

2023-08-07 18:18:21 41 1

原创 1041 考试座位号

每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。

2023-08-07 17:46:17 51 1

原创 1038 统计同成绩学生

本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。

2023-08-02 14:36:50 27 1

原创 1032 挖掘机技术哪家强

为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。

2023-08-02 14:34:21 30 1

原创 1036 跟奥巴马一起编程

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

2023-07-24 22:52:18 24

原创 1031 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

2023-07-24 22:47:11 36

原创 1027 打印沙漏

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

2023-07-17 22:42:40 58 1

原创 1021 个位数统计

给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

2023-07-17 22:36:24 55 1

原创 1006 换个格式输出整数

让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

2023-07-11 23:14:48 72 1

原创 1004 成绩排名分数

读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

2023-07-11 22:37:59 65 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除