自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

参考书籍:《C语言程序设计》《数据结构》《C++ Primer》《Effective C++》《STL源码剖析》《现代操作系统》《UNIX环境高级编程》《图解TCP/IP》《图解HTTP》《Linux高性能服务器编程》《剑指Offer》《算法导论》

里面有知识点和代码详解等,有OJ也有笔试面试等选择及编程题,用博客模仿费曼记录自己编程的学习,更好深入学习和复习。(有问题/错误欢迎提出)

  • 博客(427)
  • 收藏
  • 关注

原创 2015年蓝桥杯第六届C&C++大学B组真题及代码

2015年蓝桥杯第六届C&C++大学B组真题及代码(1A:奖券数目(3分填空_简单枚举)2B:星系炸弹(5分填空_日期计算)3C:三羊献瑞(9分填空_全排列)4D:格子中输出(11分代码填空)5E:九数组分数(13分代码填空)6F:加法变乘法(17分填空)7G:牌型种数(21分填空)8H:移动距离(15分编程)9I:垒骰子(25分编程)10J:生命之树(31分编程))

2025-01-27 22:45:07 1115

原创 Redis存储④Redis五大数据类型之String和Hash

Redis存储④Redis五大数据类型之String和Hash(常见命令+内部编码+典型使用场景+缓存方式对比)

2025-01-27 15:53:42 1001

原创 2014年蓝桥杯第五届C&C++大学B组真题及代码

2014年蓝桥杯第五届C&C++大学B组真题及代码(1A:啤酒和饮料(填空)(枚举)2B:切面条(填空)3C:李白打酒(填空)(dfs)4D:史丰收速算(代码填空)5E:打印图形(代码填空)6F:奇怪的分式(填空)7G:六角填数(填空)8H:蚂蚁感冒(编程)9I:地宫取宝(编程)10J:小朋友排队(编程))

2025-01-26 21:19:16 1239

原创 Java程序基础⑪Java的异常体系和使用

Java程序基础⑪Java的异常体系和使用(异常的概念和分类+异常的抛出、捕获和处理+自定义异常类)

2025-01-26 12:44:14 1105

原创 Redis存储③Redis基本命令+内部编号和架构

Redis存储③Redis基本命令+内部编号和架构(与Redis服务器交互+set和get命令+keys+exists+del+expire+ttl+type+数据结构和内部编码+单线程架构)

2025-01-24 22:45:10 1334 1

原创 2013年蓝桥杯第四届C&C++大学B组真题及代码

2013年蓝桥杯第四届C&C++大学B组真题及代码(蓝桥杯大赛是从第四届才开始划分ABC组的,因此前三届的题目所有院校都是一样的。所以这里此专栏就从第四届开始刷题了,应该直接从2013年刷到2023年,十年真题了属于是,有些难题看不懂就不放代码了,看题真的痛苦。)

2025-01-24 20:28:42 2343

原创 Java程序基础⑩String+StringBuilder+StringBuffer

Java程序基础⑩String+StringBuilder+StringBuffer(字符串查找可以使用indexOf()和lastIndexOf()方法,转换可以使用Integer.parseInt()等方法,替换可以使用replace()方法,拆分可以使用split()方法,截取可以使用substring()方法。了StringBuilder 和 StringBuffer和字符串常量池和字符串的不可变性。)

2025-01-23 23:39:56 978

原创 每日OJ_牛客_小红的子串_滑动窗口+前缀和_C++_Java

每日OJ_牛客_小红的子串_滑动窗口+前缀和_C++_Java(利用前缀和的思想,求种类个数在 [l, r] 区间内子串的个数,等于求 [1, r] 区间内个数 - [1, l - 1] 区间内个数。求种类个数在 [1, count] 区间内子串的个数,可以用滑动窗口来求解。)

2025-01-23 18:22:39 422

原创 Java程序基础⑨Java接口+深浅拷贝

Java程序基础⑨Java接口+深浅拷贝(接口概念和语法+接口使用和特性+深浅拷贝)

2025-01-22 22:57:00 992

原创 每日OJ_牛客_DP44兑换零钱_C++_Java

每日OJ_牛客_DP44兑换零钱_C++_Java(完全背包问题且要把背包装满,返回物品的最少个数(返回最少个数初始化为一个极大值,返回最大价值初始化为一个极小值。))

2025-01-22 20:59:32 465

原创 Redis存储②Redis的概念+特性+应用+安装

Redis存储②Redis的概念+特性+应用+安装(Redis的基本概念、特性、应用以及在Ubuntu上的安装和配置。Redis是一种高性能的键值存储系统,以其速度快、基于键值对的数据结构服务器、丰富的功能、简单稳定、支持多种客户端语言、持久化机制、主从复制、高可用性和分布式特性以及可编程集群等特点著称。Redis的应用场景广泛,包括缓存和会话管理、排行榜系统、计数器应用、社交网络、消息队列系统等。)

2025-01-21 23:13:01 807

原创 Java程序基础⑧抽象类+Object类+内部类

Java程序基础⑧抽象类+Object类+内部类(抽象类概念+语法+特性+作用+Object类+toString方法+equals方法+hashcode方法+静态内部类+实例化内部类+匿名内部类+局部内部类)

2025-01-21 20:22:41 970

原创 Redis存储①高并发分布式架构演进

Redis存储①高并发分布式架构演进(架构的基本概念和评价指标+单机架构+应用数据分离架构+应用服务集群架构+读写分离/主从分离架构+冷热分离架构+垂直分库架构+微服务架构+容器编排架构)

2025-01-20 20:53:42 800

原创 每日OJ_牛客_MT1最大差值_模拟+贪心_C++_Java

每日OJ_牛客_MT1最大差值_模拟+贪心_C++_Java(遍历数组的过程中,使用一个变量标记一下当前位置之前所有元素的最小值即可。)

2025-01-20 17:37:39 150

原创 Java程序基础⑦Java继承和多态

Java程序基础⑦Java继承和多态(继承的使用+super关键字+final关键字+多态的条件+重写+向上转型和向下转型+多态的优缺点)

2025-01-13 22:25:53 1043

原创 每日OJ_牛客_过桥_贪心+BFS_C++_Java

每日OJ_牛客_过桥_贪心+BFS_C++_Java(涉及图论最短路)

2025-01-13 12:44:33 374

原创 每日OJ_牛客_宵暗的妖怪_DP_C++_Java

每日OJ_牛客_宵暗的妖怪_DP_C++_Java(打家劫舍问题)

2025-01-06 22:59:58 318

原创 Java程序基础⑥Java类和对象+封装

Java程序基础⑥Java类和对象+封装(面向对象概念+类的定义和使用+this引用+构造方法+封装+static成员+代码块)

2025-01-06 19:56:28 658

原创 Java程序基础⑤Java数组的定义和使用+引用的概念

Java程序基础⑤Java数组的定义和使用+引用的概念(JVM的内存分布+基本数据类型+引用数据类型+引用的注意事项+传值传递+一维数组和二维数组)

2024-11-25 23:30:39 1530

原创 每日OJ_牛客_MT2棋子翻转_模拟_C++_Java

每日OJ_牛客_MT2棋子翻转_模拟_C++_Java(模拟即可。注意点:如何访问上下左右四个方向。访问的时候不要越界。下标的对应关系。如何优雅地翻转。)

2024-11-25 22:59:21 357

原创 每日OJ_牛客_合唱队形_DP_C++_Java

每日OJ_牛客_合唱队形_DP_C++_Java(动态规划题目是求出最少出来几人满足队形,反向思考 求满足队形的最多人数是多少? 这个题目左边的身高要比当前身高小,右边也是要比当前身高小并且是线性。与求最长的升序子序列问题类似,只不过本题目需要从两个维度去思考,左边和右边,左边是升序,右边降序。 思路: 单考虑左边, 算上自己总共有几人满足,这与最长的升序子序列可以说是一样了。 单考虑右边,不算自己(左边的时候已经算了, 在算的话,当前的身高会重复一次),总共有几人满足; 最后算出当前位置 左边和右边满足)

2024-11-24 22:45:00 451

原创 每日OJ_牛客_NC316体育课测验(二)_拓扑排序_C++_Java

每日OJ_牛客_NC316体育课测验(二)_拓扑排序_C++_Java(起始时,将所有入度为 0 的节点进行入队(入度为 0,说明没有边指向这些节点,将它们放到拓扑排序的首部,不会违反拓扑序定义)。从队列中进行节点出队操作,出队序列就是对应我们输出的拓扑序。对于当前弹出的节点 x,遍历x 的所有出度y,即遍历所有由 x直接指向的节点y,对y做入度减一操作(因为x节点已经从队列中弹出,被添加到拓扑序中,等价于x节点从有向图中被移除,相应的由x发出的边也应当被删除,带来的影响是与 x相连的节点y的入度减一)。

2024-11-24 16:16:32 667

原创 每日OJ_牛客_游游的字母串_枚举_C++_Java

每日OJ_牛客_游游的字母串_枚举_C++_Java(英文字母一共就26个,因此可以直接暴力枚举以每个字母作为最后的转变字母。最后去最小值即可。)

2024-11-23 23:30:21 456

原创 每日OJ_牛客_最少的完全平方数_完全背包_C++_Java

每日OJ_牛客_最少的完全平方数_完全背包_C++_Java(转化为完全背包问题,每种物品数量不限。物品重量等于索引加一的平方,物品价值等于1,表示数量加1。物品遍历顺序从大到小,因为越大的物品使用数量越少。背包重量遍历顺序从小到大,因为是完全背包。dp初始化为INT32_MAX,表示数量无限多。dp[0]等于0,因为没有重量,所以不需要物品。)

2024-11-23 22:56:26 433

原创 每日OJ题_牛客_字符编码_哈夫曼编码_C++_Java

每日OJ题_牛客_字符编码_哈夫曼编码_C++_Java(哈夫曼编码模板题:哈夫曼编码(Huffman Coding)是一种被广泛使用的可变长度编码方式,由David A. Huffman在1952年提出。它主要用于数据压缩领域,特别是当数据的某些部分比其他部分更频繁地出现时。哈夫曼编码基于一种贪心算法来构建一棵最优二叉树(通常称为哈夫曼树),用于对数据进行编码。)

2024-11-22 22:45:00 318

原创 每日OJ题_牛客_神奇的字母(二)_哈希+字符串_C++_Java

每日OJ题_牛客_神奇的字母(二)_哈希+字符串_C++_Java(哈希表,进行多组输入,然后用数组记录字母出现次数即可。)

2024-11-22 13:14:47 321

原创 Java程序基础④Java方法和递归

Java程序基础④Java方法和递归(方法的概念和意义和语法+形参和实参的概念+方法重载的概念和使用+递归的概念和使用)

2024-11-20 20:04:02 1542

原创 每日OJ题_牛客_DP40小红取数_01背包+同余_C++_Java

每日OJ题_牛客_DP40小红取数_01背包+同余_C++_Java(状态定义:首先定义一个二维dp数组,dp[i][j]表示前i个数中除以k的余数为j的当前最大和。状态初始化:0个数时,最大和必为0,所以dp[0][0]=0。状态转移:如果前一个状态余数为j,则更新当前余数为(j+arr[i])%k的情况,要么从余数为j的状态转化过来,要么前一个状态余数也是(j+arr[i])%k,即不选择当前元素。所以dp[i][(int)((j+arr[i])。)

2024-11-20 12:38:16 389

原创 每日OJ题_牛客_dd爱旋转_模拟_C++_Java

每日OJ题_牛客_dd爱旋转_模拟_C++_Java(代数法分析对于每一种变化,我们可以用代数的方法将其表示出来第二种变化:a[i][j] --> a[n - i + 1][j]第一种变化:a[i][j] --> a[n - i + 1][n - j + 1]最有意思的在于我们如果尝试对翻转的再翻转或者镜像的再镜像,其 i,j 的位置是会复原的(废话)于是我们知道 x --> n - x + 1 这个变化是自反的(通过两次这样的变化其值又会变回 x )

2024-11-19 23:02:39 404

原创 每日OJ题_牛客_天使果冻_递推_C++_Java

每日OJ题_牛客_天使果冻_递推_C++_Java(需要两个数组绑定后排序,因此可以搞一个 pair 存一下,然后排序。)

2024-11-19 22:48:07 464

原创 每日OJ题_牛客_DP18滑雪_记忆化搜索_C++_Java

每日OJ题_牛客_DP18滑雪_记忆化搜索_C++_Java(读取输入,初始化矩阵存储滑雪场的高度信息,初始化dp数组用于存储从每个位置出发的最长滑道长度。初始化dx和dy数组表示四个可能的移动方向。定义dfs(x, y)函数,该函数返回从位置(x, y)开始的最长滑道长度。如果dp[x][y]不为0,说明已经计算过,直接返回。否则,初始化dp[x][y]为1(即当前位置少构成长度为1的滑道)。尝试向四个方向移动,如果新位置(nx, ny)的高度低于当前位置,则递归调用d)

2024-11-18 22:45:00 290

原创 每日OJ题_牛客_NC51合并k个已排序的链表_C++_Java

每日OJ题_牛客_NC51合并k个已排序的链表_C++_Java(可以直接准备kk个指针,每次比较得出kk个数字中的最小值。为了快速比较k个数字得到最小值,可以利用Java提供的PriorityQueue或者C++SLT提供的优先队列实现,它是一种参照堆排序的容器,容器中的元素是有序的,如果是小顶堆,顶部元素就是最小的,每次可以直接取出最小的元素。也就是说每次该容器中有k个元素,我们可以直接拿出最小的元素,再插入下一个元素,相当于每次都是链表的k个指针在比较大小,只移动最小元素的指针。)

2024-11-18 12:00:00 423

原创 Java程序基础③Java运算符+逻辑控制+循环结构+输入输出

Java程序基础③Java运算符+逻辑控制+循环结构+输入输出(if else switch while for do-while break continue sout -> System.out.println(); Scanner)

2024-11-16 22:47:05 1920

原创 每日OJ题_牛客_NC114旋转字符串_C++_Java

每日OJ题_牛客_NC114旋转字符串_C++_Java(第一种解法:按照题目的要求模拟,每次旋转⼀下 A 字符串,看看是否和 B 字符串相同。第二种解法:需要找到字符串旋转之后能匹配所满足的性质。如果 A 字符串能够旋转之后得到 B 字符串的话,在 A 字符串倍增之后的新串中,⼀定是可以找到B 字符串的。因此仅需让 A 字符串倍增,然后查找 B 字符串即可。)

2024-11-16 13:27:51 447

原创 每日OJ题_牛客_DP36 abb_C++_Java

每日OJ题_牛客_DP36 abb_C++_Java(用abb中第一个出现的b来考虑,一个字符作为第一b能产生的abb字符,等于它后面相同的字符数量(意味着还能凑成多少个bb)乘以它前面与它不相同的字符数量(可以被当作a的)。于是先记录每一个字符总出现的次数。然后再遍历字符串记录每个字符已经出现的次数和后面还没出现的次数。)

2024-11-15 22:45:00 440

原创 每日OJ题_牛客_AB32【模板】哈夫曼编码_C++_Java

每日OJ题_牛客_AB32【模板】哈夫曼编码_C++_Java(哈夫曼编码是一种非常有效的数据压缩方法,特别适用于那些符号频率分布不均匀的数据。然而,由于需要构建哈夫曼树和生成编码,因此哈夫曼编码的压缩和解压过程相对较慢。此外,哈夫曼编码生成的压缩数据是自适应的,即不同的数据可能生成不同的哈夫曼树和编码,因此通常需要在压缩数据中附带哈夫曼树的信息以便于解压。)

2024-11-15 18:47:54 926

原创 每日OJ题_牛客_HJ9提取不重复的整数_模拟_C++_Java

每日OJ题_牛客_HJ9提取不重复的整数_模拟_C++_Java(首先循环提取输入数的最低位,维护一个大小为10的数组,判断数组中是否有提取的这个数位。如果有则把输入数除等于10,继续提取下一数位。如果没有仍要把输入数除等于10,并将此数位添加到数组中,结果乘10再加上此数位.提取到最高位即可输出结果。)

2024-11-14 23:00:14 339

原创 每日OJ题_牛客_计算字符串的编辑距离_DP_C++_Java

每日OJ题_牛客_计算字符串的编辑距离_DP_C++_Java(计算字符串的编辑距离(也称为Levenshtein距离)是一个经典的动态规划问题。编辑距离是指将一个字符串转换成另一个字符串所需的最少编辑操作次数,其中编辑操作包括插入、删除和替换一个字符。子状态:word1的前1,2,3,...m个字符转换成word2的前1,2,3,...n 个字符需要的编辑距离。)

2024-11-14 21:11:31 490

原创 每日OJ题_牛客_求和_DFS_C++_Java

每日OJ题_牛客_求和_DFS_C++_Java(递归型枚举,DFS+回溯。)

2024-11-13 23:08:05 389

原创 每日OJ题_牛客_奇数位丢弃_找规律/模拟_C++_Java

每日OJ题_牛客_奇数位丢弃_找规律/模拟_C++_Java(通过两个例子的模拟发现,每次起始删除的下标都是 2 的次方。 根据这个规律,找到最后一次删除的起始位置的下标即可。)

2024-11-13 15:44:12 455

空空如也

空空如也

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

TA关注的人

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