自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 每日一题(小白)模拟娱乐篇33

每隔w数字就会向下转向,就比如题目上示例的w=6,无论从任何一个点出发,到6的倍数就会向下走,走6步继续向下走,我们可以使用两个变量记录,向下走的步数就是两个房子在列上的距离,行之间的距离需要进行处理,因为每两行是不同的,一行正增长,一行负增长,如果向下转向的次数是2的倍数说明又回到了相同的递增/递减规律行上,只需要取x1-x2的绝对值,x1即原坐标所在的行,x2即终点坐标所在的行;首先,理解题意是十分重要的,我们是要求最短路径,这道题可以用dfs,④若不为偶数,给第一个数字+w再取相减的绝对值。

2025-04-23 22:16:22 260

原创 每日一题(小白)回溯篇8

‘(’表示进入,‘)’表示结束,每次进入时需要加上之前的长度,‘|’表示有两个长度的句子,比较哪个包含的x多即可保留哪个,如果是‘x'句子的长度+1。由题意可知这道题是计算一个字符的最大长度,直接用dfs,结束条件是字符判断结束,对字符的判断有三种,如果是。④若’|‘表示进入另一串字符,结果长度result需要取当前与另一串的最大字符长度。③若’(‘表示进入新一串字符,结果长度result+=这一层的最长字符串长度。括号表示进入一个新的小句子也就是新的分支。⑤若’)‘表示进入新一串字符结束。

2025-04-22 15:59:04 124

原创 每日一题(小白)回溯篇7

无论坦克走到任何一点都有四个方向可以走(越界要判断),结束的条件是到达指定的终点。本题不难看出可以判断每次的步数,若已经大于目前的结果数据直接跳出循环(剪枝)。首先我们可以判断出这是一个dfs的题目,因为简言之就是要求最短路径。其次这个题目与直接找最短路径有所不同,增加了条件。④判断结束条件,判断边界条件,判断是否已走过,判断交替条件。⑤如果满足条件,当前位置为true;下面为注释代码,如果理解不透可以参考👇。②接收起点x1,y1和终点x2,y2。必须依次穿过指定的符号。①字符数组存储字符有。

2025-04-21 22:20:45 228

原创 每日一题(小白)暴力娱乐篇33

由题意可知我们今天要解决的问题是在1~2025中去找合适的数字,这里要找出一些特殊的数字,这些数字要满足以下条件,是三的倍数,是8的倍数,是38的倍数,老板就给要多给一个红包,我们循环然后相应条件下boss++,但是要注意一个特点就是每次遇到了我们就不用再进入循环,我们直接把三个条件写在一起用或者即可,题目中也提到了。④循环结束,输出结果即可。比较简单就不写注释咯。

2025-04-18 14:24:27 223

原创 每日一题(小白)暴力娱乐篇32

由题意知是计算2024的质因数之和,质数就是素数说白了就是除以取余小于自身的数字都等于0(当然也可以优化,因为一个数字的开方肯定是这个数字最大的因子);因子就是我们上节所提到的因子计算方法,这次还是计算2024,我们直接用上节的代码继续操作。首先求出2024的所有的因子,在因子中找所有质数(素数),最后求和输出结果即可。你可以先尝试一下哟。③质数则sum+=arr【i】,不是质数则直接跳出循环。①求2024所有的因子放入数组。②循环数组求所有质数。

2025-04-18 13:51:08 206

原创 每日一题(小白)暴力娱乐篇31

首先分析一下题意,需要求出2024的因子,因为我们要求与2024互质的数字,为什么呢?因为我们要求互质说直白点就是我和你两个人没有中间人,我们是自然而然认识的,那我们怎么认识呢,就是直接见面对吧,这里我们把公因子想象成媒介,与你有接触的人排除掉,那就不可能有媒介,因为我的所有朋友都不可能是你的朋友了,你的朋友都排除了。求出2024的因子,然后循环排除2024次接触,就是第2024小的与2024互质的数字啦。②循环递增i,i取余2024的因子,若不能取余ans++第一段代码错误,你能找出来为什么错误吗?

2025-04-17 22:04:59 227

原创 每日一题(小白)暴力娱乐篇30

如上图所示我们将行列直接转换,但是我们会得到如下的示例结果。由于在进行行列转换的时候,将预先的3行变成4列,4列变成三行超出了原来的数组长度导致了出现0并且转换错误的情况。接下来我们观察一下顺时针转换的下标的位置变化规律可以发现1 3 5 7由原来的第一行(0,0)~(0,3)转换为第三列(0,2)~(3,2),我们不难发现坐标在原来的基础上实现的是。顺时针旋转,从上图中不难看出行列进行了变换。因为这是一道暴力可以解决的问题,我们直接尝试使用行列转换看能不能得到想要的结果。大家多动手,比较简单。

2025-04-15 22:13:48 523

原创 每日一题(小白)暴力娱乐篇29

③拆解n为若干次x,若x取余2等于1并且ans%2==1(用相反的方法也可以)若x取余2等于0并且ans%2==0,则记录count++题目比较简单,主要是判断条件这块,一定要注意在奇数的位置和偶数的位置标记,若奇数位为奇数偶数位为偶数才能计数加一,否则都是跳过。②循环n次,拆解n,每次拆解记录ans++如果会的话自己练一下两个。,如果不会就看看代码。

2025-04-11 21:23:04 419 1

原创 每日一题(小白)暴力娱乐篇28

这道题比较简单,50个人有7个人不互相握手只与43个人握手,将七个人标记循环求解即可。

2025-04-11 20:43:21 112

原创 每日一题(小白)模拟娱乐篇27

首先需用循环接收n个数字,每次判断这个数字是否出现过,若没有出现则为对应的负值,若出现过则需要将这个坐标减去之前坐标的值再减一返回(因为计算的是两个之间的距离,需要在坐标基础上再减一),则需要两个对应的数据结构存储相应的值,为了使用方便我们用临时变量或者数组存放原数组,用ArrayList存放新数组,因为java里ArrayList自带了很多方法直接使用很便捷。③读入后与使用集合的contains方法,若包含则算出距离放进arr数组,不包含则将这个数字的负值放进arr数组。④依次进行,直到n次循环结束。

2025-04-11 20:03:06 301

原创 每日一题(小白)暴力娱乐篇26

我们先直接尝试暴力循环四轮看能不能得到答案,条件:四个数的平方相加等于这个数。③如果i*i+j*j+k*k+l*l=result。④按照要求的格式输出这四个数字。②循环四轮i,j,k,l。①接收答案result。

2025-04-11 15:51:47 305

原创 每日一题(小白)暴力娱乐篇25

首先我们来思考一下例如02/02/02这样的数字日月肯定不用进行修改,修改后需要加上对应的年份的前两位,题目要求1960年1月1日~2059年12年12月31日,(对1960年至2059年进行循环因为题目满足每一天不需要再关注日)这其中所有只有2002符合要求。再举例18/05/25,也就只需要去找18和25在年份中满足的情况,然后按照题目要求输出结果即可(题目是从60~59即所有年份至多出现一次)。由于还需要进行日期大小的排序所以对年月日的大小需要进行比较,然后判断输出。printf是格式化的输出。

2025-04-11 15:24:22 300

原创 每日一题(小白)回溯篇6

由题意得知本题是通过bfs的方法计算最终的字符串,我们可以将接收到的字符转为数字,将所有的字符减去g,循环指定的m天→若是等于0则说明这是草地向上下左右进行扩散为0,若不是草地则不进行操作.最后进行格式化输出(将所有数字输出为0输出g为其它数字输出.)。④根据题目条件设置循环内部结构。③循环m次达到月数限制即可。①使用数组存储给定元素。⑤按照题目规则输出答案。

2025-04-11 13:44:07 300

原创 每日一题(小白)回溯篇5

这个和我们之前讲的青蛙跳台阶的问题是不是十分相似,只不过终止条件不一样,之前的青蛙只是一直往前跳,遇到终点即可结束我们统计多少种方法。这一次青蛙通过三种方式跳到指定的位置让我们计算需要的最少步数,这里我们要使用一个新的方法广度优先搜索(BFS),广搜的搜索方式就适合于解决两个点之间的最短路径问题,本道题就是每次去找最短路径并且记录次数,最后确认相同返回次数即可。你是一个中心点,你每次向周围所有位置前进一步,如果没到继续向所有位置前进两步,依次递推直到到达终点。②队列循环(队列长度一定不能直接用,复制一下)

2025-04-10 22:20:05 397 1

原创 每日一题(小白)暴力娱乐篇24

可以得到"672159834", "276951438", "294753618", "834159672", "438951276", "618753294", "816357492"总共八种方案,然后接收每次的数据去匹配(跳过0),如果匹配就输出匹配的数组,如果不匹配就输出-1。由题已知这是一个匹配题目,题目已经说了三阶幻方是给定的,经过镜像和旋转,镜像*2旋转*4;③进行比对,若为0则跳过,若不对应记录0,若对应记录下标。④输出结果,没找到ToMany;找到输出对应下标字符串。①存储8个固定字符串。

2025-04-10 20:33:59 343

原创 每日一题(小白)暴力娱乐篇23

由题意得知给我们一串数字,我们每次交换两位,最少交换多少次成功得到有顺序的数组。我们以平常的思维去思考,加入给你一串数字获得最少的交换次数,意味着你的交换后续基本不会变,比如说2 1 3 5 4 中1与2交换后不变,4与5交换后不变。而且已知给出的数字必定和下标顺序一致,那么我们可以更换数字直到它和对应下标相同即可得到结果。交换代码如上,如果觉得第一个代码比较复杂可以看一下图示,或者写一个全局方法。②循环遍历数组,和下标不对应就进行更换直到对应下标相同。③找到对应下标的数字后交换两个数字。

2025-04-09 22:54:18 1533 4

原创 每日一题(小白)暴力娱乐篇22

由题意知,就是计算两个数字的最大公约数,既然是计算两个数字的最大公约数我们可以用循环在最小的数字里面寻找能第一个同时被两个数字整除的数字,而且题目是计算比值,既然是等比数列我们可以计算最小的两个数字的等比即可。因为对于我们来说,暴力是最直接的方式是肯定能满足一部分答案的方法,娱乐是为了让算法变得更有趣,你愿意多去尝试多去练习,这才是。:欧几里得算法又称辗转相除法,是指用于计算两个正整数a,b的。7 ÷ 5 = 1 (余2)5 ÷ 2 = 2 (余1)2 ÷ 1 = 2 (余0)①接收所有数据放入数组。

2025-04-09 20:08:00 472

原创 每日一题(小白)动态规划篇9

类似于此如果有1肯定是满足所有的,如过是2和3肯定能满足2+2,2+3,3+3,2+2+2,2+2+3。等,也就是说我们永远是在满足的条件上依次去加接下来的包子,fx=2出现的次数递增+3出现的次数递增。反过来想如果满足的一定是依次递减为fx的,所以fx=fx+f(x-2)+f(x-3);我们可以这样想,相当于大叔卖包子,每个笼子放的数量不同,顾客可能提出各种各样的要求,现在我们已经知道大叔一共有多少种笼子数目,要我们去求出大叔能不能满足的顾客,如果不能满足的顾客无限多就输出INF。遇见难题最主要是什么?

2025-04-09 17:44:31 152

原创 每日一题(小白)数组娱乐篇21

由于题意可知我们是要将对应的数字转换为英文,我们要考虑两点一个是进制的转换,也就是类似于我们的十进制一到9就多一位,这里的进制就是。解决上述问题则可将对应的数字转化为Excel的表示。Z进制也就是27进制一旦到26下一位则进位。①将传进来的数字转换为27进制下的数据,②将每一位27进制下的数据转换为大写字母。数字的转换也就是1~26对应A~Z。③调用函数返回对应大写字母。

2025-04-09 16:15:43 397

原创 每日一题(小白)暴力娱乐篇20

③遍历原数组arr中的元素,以arr[i]-min(也就是多出大于最小值的值做索引)作为count数组的索引,以arr[i]的值在arr中元素的出现次数作为count[a[i]-min]的值;④遍历count数组,只要该数组的某一下标的值不为0则循环将下标值+minVal输出返回到原数组即可。第三种方式:自己写排序方法,这里使用计数排序容易理解且时间复杂度低。②创建一个计数数组count,数组长度为max-min+1;②排序(直接调用Arrarys的sort)为了计数多出最小值的那部分出现次数。

2025-04-09 09:41:43 566

原创 每日一题(小白)暴力娱乐篇19

分析题意可以得知,就是接收一串数字,将数字按照下标每次向右移动一位(末尾循环到第一位),每次移动玩计算一下下标和数字的乘积且累加。②将数字进行交换,先把末尾的保留,其余的交换完毕再赋值给第一位。④每次累加完毕输出结果,注意格式。

2025-04-08 23:14:31 342

原创 每日一题(小白)模拟娱乐篇18

由题知就是小朋友每次给左手边的小朋友分一半糖果,一轮下来如果是奇数糖果老师就给他补一个直到所有小朋友拥有相同数量的糖果,问问老师发放了多少糖果。用程序进行模拟的大概思路就是,一个直到糖果均匀分布的循环,在里面每轮都要进行糖果的。(老师给奇数糖果的同学补发一个),直至循环结束统计出发放糖果的数量。今天和大家一起玩个小游戏,给小朋友分糖果🍬。(数组i+1的给数组1分一半),

2025-04-08 18:31:07 390

原创 每日一题(小白)数组娱乐篇17

对一个数组进行接收进行操作后输出。输入三个操作数abc,将数组下标a到b的数字加上c;输入四个操作数abcd,将下标c到d的数字复制到a到b,可以借用一个中间量数组实现;两个操作数ab,将数组下标a到b的数字加和输出。可以通过重写三个方法,在主函数里通过循环调用。重点就是判断数字的操作具体是执行什么,进行了优化,直接将数组变成全局变量,每次修改不用返回新的数组,只有一个输出输出即可。①输入三个数字和一个数组,返回一个数组。②输入四个数字和一个数组,返回一个数组。③输入两个数字和一个数组,返回一个数字。

2025-04-08 17:31:24 400

原创 每日一题(小白)动态规划篇8

理解题意很重要尤其是这种题,如果遇见这种题说了很多别的术语,别的不要管直接看最后一句。给你两个序列,找出最长的公共序列,结合前文简单一看就知道是给你。,大写字母后不限定必须紧跟之前的字母(可以跳着选取)——最长不连接子序列,那么首先我们必须处理好字符串,然后使用。③每一个大写字母开头的字符串存储到新的字符数组中。动态规划的方式寻找最长子序列。④使用动态规划寻找最长子序列。第一个开始一定为0。多一个则在原来的状态+1。②对两组字符串进行处理。不同则取之前的最大值。

2025-04-08 15:17:50 948

原创 每日一题(小白)回溯篇4

分析题意可以得知,每次向前后左右走一步,直至走完16步就算一条走通路径。要求条件是不能超出4*4的范围,不能重复之前的路径。④若不在上述三个条件中则继续进行下一个点前后左右的试探,进去时需要。⑤主函数调用,将16个点每个都作为起点,调用回溯函数算出全部统计值。③控制条件,若下一步已到达末尾则返回,并且统计值+1。:找到最长的路径,计算这样的路径有多少条(使用。①控制条件,若下一步已经被占有则返回。②控制条件,若下一步越界则返回。

2025-04-06 23:13:58 340 1

原创 每日一题(小白)字符串娱乐篇16

分析题意可以了解到本题要求在一串字符串中找到所有组合起来排序递增的字符串。我们可以默认所有字符在字符串中的上升序列是1,从第一个字符开始找,如果后面的字符大于前面的字符就说明这是一个上序列那么后面字符所在的数组加一,如果连接不上前面的(两个字符一模一样的)就置为0.③以此循环字符串中每一个元素将所有元素的上升序列相加即可得到最终值。②后面元素要么与前者构成上升序列,要么则重置为0。①使用数组存储每一位元素的上升序列值。

2025-04-06 18:14:36 317

原创 每日一题(小白)模拟娱乐篇15

例如,假设一个数可以表示为A×B×C的形式,那么这个数的约数个数可以通过计算A、B、C各自质因数分解后的指数加一再相乘得到。具体来说,如果A、B、C分别可以分解为质因数的乘积形式,如A=p1^a1,B=p2^a2,C=p3^a3,那么这个数约数个数为(a1+1)×(a2+1)×(a3+1)。对于一个较为复杂的数,比如D=p1^a1×p2^a2×p3^a3×...×pn^an,其约数个数就为(a1+1)×(a2+1)×...×(an+1)。那么我们来分析一下如何计算公约数,举个例子6的公约数有1*6;

2025-04-06 16:25:56 319

原创 每日一题(小白)模拟娱乐篇14

直接理解题意,一分钟扩散一次,那么2020分钟也就是需要循环2020次,然后加入扩散后的条件,每一个次扩散使方格子的总量+1(只要有一个点扩散就无需看其他的点),若干次循环过后总数之和即所有黑色格子进行计数的结果。,因为下方必定能被(0,0)扩散到。即0,0为下方和左方扩散的最大值。在此基础上加减2020即可得到最大的范围。我们考虑其中重复的覆盖区域,只需要。每次扩散相当于增加一层外围+4.判断上方和右方取到的最大值。

2025-04-05 14:32:05 286

原创 每日一题(小白)模拟娱乐篇13

今天题目比较简单,直接分析。就可以,先将数字转换为二进制,然后判断2024二进制包含几位1,输出即可。接下来用代码实现 ,我们也可以看出其中的有效数字为2,2,4;bitCount(int i) 函数,实现。(B)也就是说2024中有一共有六个1。判断出2和4的二进制包含几个1。

2025-04-04 23:25:20 415

原创 每日一题(小白)模拟娱乐篇12

也就是说上面的矩形的左下角y轴必定低于下面矩形的右上角,且上面矩形的右上角x轴必定大于下面矩形的左下角,但是同样也不能低于下面y轴或者大于右边的x轴(其中一种)。如果你看完还是很懵逼不要紧,先把原来的面积计算出来,接着排序,相交时只需要判断哪个比较大,用大的减去小的就可以得到高和宽。正常情况:无相交,直接进行计算(x2-x1)*(y2-y1)+(x4-x3)*(y4-y3)相对而言左边的总是在arr【0】,接下来的你就可以用你的方法尝试解决。粗黄色即为可能的小x轴,粗红色必定为大x轴,所以宽必定为。

2025-04-02 17:30:45 310

原创 每日一题(小白)集合娱乐篇11

为了加快运算,中间的次方和取余运算我们使用位运算。也希望大家可以多了解一下计组的知识。简单来说就是给你n个集合,若把集合分成子集和补集并且元素相加为偶数,有多少种情况。奇数需要换种思考方式,按照偶数的方式排列。把两个奇数当成一个偶数进行排列。一共有4种方法,其两个子集元素相加为偶数且子集的并集为原来的集合的子集。偶数情况就是拿偶数排列就可以,有多少个偶数就排列多少次。我们以一个集合为示范,假设集合中元素为【6,6】👇。

2025-04-02 16:10:33 276

原创 每日一题(小白)模拟娱乐篇11

System.out.println(n + "的八进制是:" + octalString);System.out.println(n + "的五进制是:" + base3String);System.out.println(n + "的十六进制是:" + hexString);由题可知就是要求计算一个数字,可以整除10进制的每一位,亦可以整除8进制和16进制的每一位。即将传进来的参数进行判断,每次对10取余就是个位上的值,取到个位上的值再用除法将个位去掉,依次进行。我们可以从1开始寻找合适的数字,使用。

2025-04-02 11:00:57 392

原创 每日一题(小白)分析娱乐篇10

但是这样明显过于麻烦,我们可以利用数学的本质去思考这个问题,以0结尾的数字乘以一个数字必定为0,阶乘之中必定有2和5结尾的数字相乘得0,这个0的阶乘和下一个数字相乘的结尾又必定为0,俩个数字求和也必定为0;:a^b % p = ((a % p)^b) % p$(除法例外) 每次运算时mod九位数字即可,根据此我们可以使用mod的运算法则。每次mod9只要最后9位进行运算。

2025-04-02 09:08:47 352

原创 每日一题(小白)暴力娱乐篇9

使用循环依次判断不同年的不同天(考虑特殊年份第一层),若是周一或者一个月第一天则+2公里(考虑特殊日子第二层加判断)使用一个循环,循环小蓝每天跑的日子+1;使用两个整型变量一个表示一周天数,一个表示跑步总公里数。模拟两个不同的年份→正常年份+闰年 使用两个数组模拟。①时间2000年1月1日到2020年10月一日。③周一或者月初多跑1公里。

2025-04-01 22:46:16 280

原创 每日一题(小白)数组娱乐篇8

思路:由题知就是给你一个数组,让你在数组中找两个数字拼接的组合数组小于给定数字k的个数。那么,我们可以通过暴力直接一个一个拼接和k进行比较完成。那么除了暴力还有没有更好的思路呢?

2025-04-01 21:23:10 123

原创 每日一题(小白)数组娱乐篇7

由上次的ASCLL表构思一个字符数组,然后将传来的值优先两位对比,获取原来的字符;如果两位不在选择范围则取一位进行获取。很重要,找出字典顺序最大的,也就是说两位在一起24当作X而不是B和E。

2025-04-01 20:50:40 301

原创 每日一题(小白)动态规划篇7

我们可以从两个方向出发,首先是从起点向左向右走,但是不太好推理。我们依旧参考前面的方式,从终点开始,逐步向后,因为到终点的方向是确定的。最不好理解,但是你可以这么想,如果终点在最上面一行或者最左边一列,你能怎么走?我们可以得到f(m,n)=f(m-1,n)+f(m,n-1);我们举例终点坐标为(m,n),那么必定是(m-1,n-1)推导而来。那么(m-1,n-1)呢?考虑条件偶数行偶数列不能走入,可以将二维数组的偶数行列设置为0;拆分成一次走一步,只有左边和上面的能到达终点👇。

2025-04-01 20:01:10 299

原创 每日一题(小白)简单娱乐篇6

那么题目简单,我们可以思考不同的思路去解题,训练自己的。这道题比较容易,请自行分析解决!分析为什么递归是正序?

2025-04-01 16:48:07 264

原创 每日一题(小白)ASCLL娱乐篇5

由题知要识别三种类型的字符,使用三个变量存储最终值输出即可。根据ASCLL表可知数字、大写字母、小写字母都是。,我们只需要接收输入的值进行判断在那个范围那个变量就++即可。的方法解决,也可以打表去判断。,有需要的小伙伴可以在菜鸟详细了解。数字大写小写ASCLL为。

2025-04-01 16:32:08 173

原创 每日一题(小白)模拟娱乐篇4

这种算法通常涉及到按照题目的要求,一步步地编写代码,模拟题目中描述的过程或操作。模拟算法通常用于解决一些基础的问题,有时被认为是比较简单的。400/10=40秒 32*120+40=,但实际上,它们也可以非常复杂和具有挑战性。均匀变化也就是指上面两点可以结合,也就是。由于跑步每分钟需要600,每秒就需要。10000/300=32余400;思考一下为什么不是33而是32?(时间+120秒,体力-300)600/60=10体力/秒。

2025-04-01 15:44:27 182

Python学生管理系统代码实例+打包exe程序

学生管理系统是一个学生信息管理系统,实现了学校对教师、课程和考试的管理,为学生提供便捷服务。用户可根据自己需求选择适合自身环境的应用供开发者或管理员选用;能完成学生成绩录入,查询,修改,删除等功能,使用文本记录的合理设计使系统更加健壮、完善和易维护性。本系统的开发主要语言是采用python来进行实现,为单一模块,在开发过程中,函数设计和代码复用是主要考虑的问题。系统采用单一结构化方式构建,使应用理解更加方便简洁。

2023-07-12

空空如也

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

TA关注的人

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