自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十六届蓝桥杯_省赛B组(D).产值调整

第十六届蓝桥杯_省赛B组(D).产值调整

2025-06-16 21:50:11 424

原创 第十六届蓝桥杯_省赛B组(C).可分解的正整数

第十六届蓝桥杯_省赛B组(C).可分解的正整数

2025-06-16 21:10:09 279

原创 leetcode_283.移动零

本道题采用双指针的思想完成,可以使用快慢指针的思想,通过快指针遍历数组找出数组中的非零元素,用慢指针来维护有效值。可以先根据题目的条件手搓出来一个测试,方便理解。没错是这样的,这样就找到了数组中所有不为。,最终遍历完毕,fast最后指向了索引。号索引,开始向后找,一旦发现不为。的数字进行交换,第一次找到了。索引处,第一次发生在索引为。的时候,经过操作,得到了。,slow最后指向了索引。的时候,经过操作得到了。的时候,经过操作得到了。,第二次发生在索引为。,第三次发生在索引为。向前遍历,当找到不为。

2025-06-11 16:02:35 384 1

原创 Java_try...catch(异常)

catch中是空指针异常,最后输出的还是数据索引越界异常,而且程序没有正常结束,由此得出,捕获异常之后没有与之对应的catc就会交给虚拟机来进行处理。当try代码遇到问题,之后的代码就不会执行了,直接跳转到对应的catch,如果没有对应的catch与之匹配,则交给JVM虚拟机处理。第一个情况 ,就是我们在使用try捕获异常时,如果try中没有异常出现,我们就会一直执行代码,并且不会执行catch中的代码。由最后的结果我们知道,其实只执行了数组索引异常的处理,由此引出我们的第三种情况。

2025-06-11 01:38:28 286

原创 第十四届蓝桥杯_省赛B组(C).冶炼金属

第十四届蓝桥杯_省赛B组(C).冶炼金属

2025-06-10 18:53:07 1185

原创 leetcode_35.搜索插入位置

暴力的代码我来说一下,主要就是遍历整个数组,通过寻找第一个大于等于target的值,等于的话就是找到了这个元素,直接返回其下标,大于的话等于就是这个元素必须插入到这里。最后循环结束,没有找到的话,表明target大于数组中的所有元素,返回这个数组最后一个位置就Ok了。首先这个题暴力也可以过,但是题目要求我们使用O(log n)时间复杂度的算法,所以我们这道题还是试用二分的方式来解决,依旧是往期的两个模板,这里我们都写一下。

2025-06-10 15:03:59 302

原创 leetcode_69.x的平方根

对于刚好等于的我们直接返回 即可 ,对于有小数的我们就需要想一下了,例如 8 的 话 2 * 2等于4 3 * 3 等于9,那么根据题目我们就需要找到2和3,然后返回2作为答案,这样的话也是可以过的(不过需要注意的是 ,需要使用long long 哦,去最坏情况的话 i =INT_MAX也就是2的31次方减一,再做乘法的话会超出int的取值范围,造成 上溢的情况 ),不过算法复杂度是O(N),有点高了,我们下来尝试着用二分法去优化一下。左闭右闭的话,那么我们应该是小于等于的,为什么呢?

2025-06-09 01:38:47 238

原创 leetcode_66.加一

2.下来我们就可以对这个数组进行处理了,因为只加一 ,我们的个位最大为10,然后依次向上进位,判断我们每一位的数字,如果数字大于等于10的话 ,那我们就令高位加一 ,同时使本位减10.这里需要注意的是,我们最高的一位需要最后特殊处理 ,我们在判断的过程中并不能直接给后面添加一位,所以我们这一步的代码也就得到了;题是这样的,根据题目我们不难理解,这个题就是在最后一位加 1 然后返回,正如示例所说的那样,当然这很符合我们人的思维,写这种算法题最重要的就是考虑一些极限的情况,例如。

2025-06-08 01:54:00 310

原创 数组模拟栈

理解起来也好好理解,在c++的 STL 中也有相对应的容器 stack 栈的最常用的几种情况就是。,这就是因为我们在打印了栈顶元素之后弹出了栈顶元素,使得栈顶元素从 9 变为了 8 又变为了 5 ,这就是栈中最基本的三个使用 最后来说说 empty。我们栈已经为空的时候再弹出的话程序就会直接崩掉,我们在弹出和获取栈顶元素前加入一个empty 就可以完美的解决这个问题。压栈(给栈顶插入元素),查看栈顶元素,查看栈是否为空,以及将栈顶元素弹出。这是因为栈顶的特性,栈顶的元素一直是 9 ,下来看图瞅瞅。

2025-04-04 17:05:44 247

原创 基础算法_二分

二分

2025-03-31 13:04:23 232

原创 c++高精度减法

C++高精度减法

2025-03-23 19:04:40 356

原创 c++高精度加法

高精度加法

2025-03-23 18:22:15 461

原创 手搓递归实现组合型枚举地柜搜索树 组合的输出(dfs) 回溯分析

dfs回溯分析!!!!!!!

2025-03-16 18:09:17 287

原创 手搓排列型枚举递归搜索树 全排列问题(dfs)

全排列问题+递归搜索树

2025-03-16 16:08:31 172

原创 手搓递归搜索树 指数型枚举(dfs)

dfs指数型枚举

2025-03-16 14:59:22 260 2

原创 priority_queue练习

分析问题:就是每一次从菜篮子中拿掉最大的菜,然后丢掉,问操作完成之后篮子里的菜的重量。“2”,将菜篮子中重量最大的菜丢掉(如果菜篮子为空,则跳过)。Q次操作后,菜篮子中剩下的菜的总重量。注意,需要开 long long。“1 x”,将一个重量为。x的菜放入到菜篮子中。

2025-03-07 20:24:55 217

原创 优先队列priority_queue应用

优先队列 priority_queue 换种话来说就是堆,只可以从中取到最大或者最小的值,所以说,只维护堆顶。它使用less()作为比较函数,即元素的优先级按照从大到小的顺序排列。也就是说,如果我要取最大值,那么我就不管(使用其默认的less),我要取最小值,那么就要使用greater()如果我们使用greater的话那么每次就会找到这个堆的最小值,我们可以用这个方法找出数组或者vector容器中的最大最小值,或者给数组或者容器排序。

2025-03-07 20:03:16 312

原创 2024蓝桥杯省赛真题-封闭图形个数

拿到题目,咱们先来分析一手,上来就是封闭图形,那我们直接将这个封闭图形用一个数组记录下来,根据题目要求,我们得到了st数组这就是0-9数字的封闭的数字然后下一段,分析一下,它们的封闭图形个数不同,那么封闭图形个数较多的数更大,反之就是值大的数大,如果值相同,就是相等的,就不用排序了最终输出排序后的结果现在我们来想,我们这个st数组只记录了一个数字的封闭值,让如果是两位数,三位数呢?OK 啊,我们直接把他们拆开分别计算不就 好了嘛!!说干就干,开搞,这道题的最大范围是 2e5 一定要看清楚题目的数据范围!

2025-03-02 14:41:33 557

原创 蓝桥杯(握手问题)

从图片中,我们可以看出来,总共50个人,第一个人和除了他自身之外的别人握手,总共握了49次(蓝色),第二个人握了48次(黄色)一直到最后一个人,最后一个人就不用主动去握手了,因为别人已经全和他握过手了。小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。开始分析:总共有 50 个人,每个人都要和除了自己以外的其他人握手,但是呢就是有7个劳弟互相不想握手,让我们算最后握了多少次手。这样我们就算出了50个人的握手总数,用相同的办法,我们可以算出7个人的握手总数,然后作差,就得到了我们最终的答案。

2025-02-28 19:24:12 858 1

原创 火车轨道问题_c++STL stack(栈)的使用

stack(栈)

2025-02-26 01:54:07 228

原创 洛谷P5736 【深基7.例2】质数筛

P5736 【深基7.例2】质数筛

2025-02-07 01:29:18 171

原创 洛谷P2367 语文成绩

洛谷P2367 语文成绩

2025-02-07 01:16:12 175

原创 基础算法_差分

一维差分

2025-02-07 00:54:26 472

原创 洛谷P8218:求区间和

洛谷P8218

2025-02-06 23:44:32 222

原创 基础算法_二维前缀和

我们先前已经了解了前缀和思想,二维前缀和感觉上就是一维前缀和的进阶,下面 ,我们学习一下二维前缀和

2025-02-06 22:14:22 1324

原创 基础算法_前缀和

前缀和

2024-12-15 17:22:33 329

原创 数据结构_链表(带有头节点)

之前我们写过的链表基本都是不带头节点的,但是有些算法题,它就要给你来一个带头节点的玩意,我们应该如何写呢?那么,我们要带头节点,首先我们就要开辟一个节点出来当头节点,也就是初始化。不带头节点的用的比较多,这里我只写头插和尾插。初始化之后我们就是完成尾插,头插,打印函数。

2024-11-10 10:00:00 235

原创 leetcode_876.链表的中间结点

中间结点_计数思想和快慢指针思想

2024-11-09 21:08:19 727

原创 链表反转_带有头节点

第一步呢,我们利用end来获取end的下一个节点的地址,然后将a1直接指向这个节点。我们在最开始的时候end 就代表的尾节点,所以当我们的end!上一篇,我们介绍了如何反转不带头节点的链表,这一篇,我们来写带头节点的链表。现在我们只需要循环起来就好了,那么我们的循环结束条件是什么呢?初始大概就是这样的,head什么都没有,只记录了下一个节点的地址。首先确认要反转的对象,我们这里需要将a1和a2进行反转。第三步,我们将a2的next变为a1。我们总共分为4步来完成我们的链表反转。我们该怎们样让它反转呢?

2024-11-09 16:38:17 394

原创 leetcode_206.反转链表

单项链表的反转———这里我们使用了中间变量temp来记录pcur->next,方便我们使用,在我们头插之后,将头插过来的新元素设置为新链表的头节点。如果我们这样做了,那么就要断开 head 和 head->next 的链接,我们就找不到head->next的位置了,那么我们该怎们办呢?题目中还给了我们一个结构体类型的函数,所以我们题目的最后是要返回一个结构体指针的——首节点!初始就是这样滴,我们创建了一个新的链表,将其的首节点设置为空,命名其为newnode.首先呢,我们的链表分为带头节点和不带头节点两种!

2024-11-09 15:51:49 582

原创 C++ 通讯录实现

C++通讯录实现

2024-11-03 17:28:35 446

原创 Java项目练习_学生管理系统

代码实现了基本的学生管理系统功能,包括登录、注册、忘记密码、添加、删除、修改和查询学生信息。使用了ArrayList来存储用户和学生信息。使用了Scanner类来处理用户输入。

2024-10-31 01:46:47 1077

原创 Java中键盘录入问题之 next 和 nextLine

当使用Scanner对象的next()方法时,它会读取输入直到遇到第一个分隔符(默认是空白字符,包括空格、制表符、换行符等),然后返回这个标记作为一个字符串。结论:next()方法无法接受空格,空格之后的数据仍然存在于输入流中,等待被后续的next()或nextLine()调用读取。我们的next无法接收空格,导致了我们str接受了空格和空格后面的数据,所以会打印。这两者的根本区别就是一个可以将空格录入进去,一个不能将空格录入进去。

2024-10-30 10:30:00 315

原创 Java案例_查看最后一个英语单词的长度

Java案例——查看最后一个英语单词的长度。

2024-10-29 10:00:00 144

原创 Java案例_字符串转换数字相乘

【代码】Java案例——字符串转换数字相乘。

2024-10-29 09:00:00 139

原创 Java案例_随机生成验证码

Java案例——随机生成验证码。

2024-10-28 10:15:00 287

原创 Java案例_反转比较

【代码】Java案例——反转比较。

2024-10-28 10:00:00 297

原创 Java案例_数字转化罗马数字

Java案例——数字转化罗马数字。

2024-10-27 21:35:35 145

原创 StringJoiner

StringJoiner概述:StringJoiner和StringBuilder一样,也可以看成是一个容器,创建之。中间这又 “[” 又 "]"的,而且还要判断是不是最后一个,来决定要不要输出 “,”。StringJoiner并没有在java.lang核心包中,所以我们要使用还需要导包。在上一篇中,我们使用了StringBuilder类完成字符串的拼接。作用:提高字符串的操作效率,代码编写简单。所以,这一篇我们来解决这个问题!后里面的内容是可以改变的。

2024-10-27 20:32:47 325

原创 StringBuilder_练习

判断是否为回文数(回文字符串),字符串的拼接

2024-10-27 20:08:29 280

空空如也

空空如也

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

TA关注的人

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