自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LC18. 四数之和

给你一个数组nums,要求找到所有不重复的和为target的四元组。

2023-09-21 17:26:43 87

原创 LC15. 三数之和 题解总结

给定整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足nums[i] + nums[j] + nums[k] == 0,要求i、j、k 互不相同,且返回的三元组不可重复。

2023-09-19 23:35:20 134

原创 LC142. 环形链表 II

题目大意:给你一个链表,要求判断是否有环,若有环,找出环的入口结点。

2023-09-16 22:52:19 203

原创 LC844. 比较含退格的字符串

给你两个带有‘#’字符的字符串s和t,其中‘#’代表一次退格操作,要求你比较s和t是否相同。

2023-09-06 15:06:50 70

原创 二叉树练习(二):树的双亲表示法及其部分算法实现

双亲表示法,即储存树结点的同时储存其所属的父结点的表示法,通常利用顺序表(数组)实现。

2021-10-09 19:27:49 5039 2

原创 优先队列的总结和实现

优先队列的学习笔记

2020-07-19 22:00:31 360

原创 C++ 实现文件分割、合并

github:https://github.com/Melonl/FileSplit基本毫无技术含量,就是读文件并写成多个小文件,并且支持自定义分割后的文件大小,单位为KB,用来对付网盘的上传文件大小限制。对于非文本格式,分割后的文件不能正常打开。只支持windows,因为使用了win的api来判断文件。...

2020-05-01 14:38:20 2248

原创 链表练习:使用递归重写单链表

本次的练习是使用递归重写单链表,包括链表的增、插、删操作,希望能给各位一点帮助与启发,共勉。

2020-04-22 14:18:19 556

原创 现代OpenGL学习笔记(一)入门阶段知识点随记

一些个人的知识点总结,如果能帮到你们那自然再好不过

2020-04-22 11:44:02 187

原创 二叉树练习(一):从字符串构建二叉树和使用字符串输出二叉树

前言如标题所言,本次要实现是使用类似 “A(B(C),D(,E))” 这样的字符串构建、输出二叉树的代码,其实这种表示方式就是广义表的表示方式,有些书上也叫括号表示法。这种表示法的规则是:以字符来表示结点,结点后紧跟的括号表示此结点的孩子结点,例如树 “A(B,C)”,若孩子结点后面还有孩子结点,也按照此方法递归表示。兄弟结点之间使用逗号分隔。需要注意的是,如果结点A后面只有一个左孩子...

2020-04-15 12:01:52 4159

原创 P1591 阶乘数码 (高精阶乘)

题目描述求n!中某个数码出现的次数。输入格式第一行为t(≤10),表示数据组数。接下来t行,每行一个正整数n(≤1000)和数码a。输出格式对于每组数据,输出一个整数,表示n!中a出现的次数。输入输出样例输入 #125 27 0输出 #112原题:https://www.luogu.com.cn/problem/P1591高精阶乘...

2020-04-06 21:41:23 683

原创 HDOJ 1005 Number Sequence 矩阵快速幂 代码 + 解析

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005部分题头:Problem DescriptionA number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, a...

2020-03-25 20:40:46 208

原创 HDOJ 1003 Max Sum (dp思路详解)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003部分题头:Problem DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given ...

2020-03-17 11:50:08 152

原创 自己写的安卓文件管理器 MsExplorer(未完成)

老坑了,Github:https://github.com/Melonl/MsExplorer用的MaterialDesign风格的做的UI,应该只写了一个框架,具体功能应该是没法用的。效果图:上面这个是重写的版本,功能什么的还没来得及实现就暂时弃坑了不搞安卓开发了,下面这个是老版本的MsExplorer,也是还没写完的,但是要比上面开源的那个版本要完善一点,常用操作都实现了,并且...

2020-01-16 16:37:02 271

原创 顺序表练习(四):上三角矩阵的压缩存储公式推导以及代码实现

本篇博客会较为详细地讲一下我个人对三角矩阵压缩存储公式的理解,希望能给后面的朋友们带来一些帮助。

2020-01-13 21:31:58 23711 7

原创 顺序表练习(三):对称矩阵的压缩储存

前言本次练习的内容是对称矩阵的压缩储存以及各种配套函数的实现,先放一下对称矩阵的定义:对于一个方阵A,若其中的元素满足,则称其为对称矩阵。通俗地理解,对称矩阵就是沿着主对角线(“\”这样的是主对角线)将矩阵折叠后对应元素相同的矩阵。对称矩阵里有近一半的元素是相同的,如果对其进行压缩储存,我们就能省下近一半的空间。练习目标实现对称矩阵的压缩储存 实现相应的初始化、销毁...

2020-01-12 01:20:17 4182

原创 哈夫曼编码实训:使用Qt构建界面和简单的效率优化

前言这篇博客主要是整理、记录一下这次数据结构实训的过程以及分享一些我个人的心得体会,当然,代码我个人的项目代码也会开源分享。先放链接:https://github.com/Melonl/FileCompress相关资料以及开源代码在上面给的Github链接里的Code&Ref文件夹下即是实训参考文档以及老师给的参考代码,main函数入口在Demo1.cpp里,Traini...

2019-12-18 19:54:34 1022

原创 顺序表练习(二):稀疏矩阵的三元组压缩储存及其简单运算实现

这次要实现的是:以三元组的形式压缩储存稀疏矩阵一些辅助函数二分查找矩阵的某个元素实现矩阵的转置、加法、乘法运算

2019-11-27 21:09:28 4122 1

原创 栈知识点总结(一):使用数组和链表实现栈

前言栈是一种只能在一端进行插入或删除的线性数据结构,栈的主要特点是后进先出(Last In First Out, FIFO),即后进栈的元素先出栈。栈的应用很广泛,常见的应用场景例如表达式的括号匹配、文本编辑器的撤销功能、以及一些需要将有序数据逆序的场景都需要用到栈。栈的实现较为简单,并且可以由两种数据结构:链表、数组来实现,这篇文章要讲的就是如何用数组和链表来实现一个栈,同时简单讲讲两种实现...

2019-11-21 22:57:40 1358

原创 顺序表练习(一):字符串区间操作的实现与详解

前言顺序表其实就是数组,而字符串的区间操作,其实就是对一个字符串里的一段进行操作,例如删除一段字符、插入一段字符、获取一段字符等。这原本是我的一次数据结构课程作业,来自李春葆的数据结构教程第五版第四章的上机实验题,虽不难但细节较多,算是一次不错的训练编码能力的机会。数据定义既然要实现字符串的区间操作,那么肯定需要先手撸一个简易的字符串,先实现一些常规的方法,例如创建字符串、销毁字...

2019-11-10 19:18:17 898

原创 链表知识点总结(二)双链表、循环链表的总结以及一些LeetCode的链表题目推荐

接上一篇 链表知识点总结(一) 这次讲讲单链表的扩展——双链表、循环链表,以及推荐一些我个人认为比较好的链表练习题LeetCode。双链表的简单总结双链表其实就是节点的定义里多了一个prev指针指向上一个节点,对于带头节点的双链表来说,头节点的prev指针是指向NULL的(与此对应的是尾结点的next指针指向NULL),对于双链表来说,增删改查的操作与单链表没什么不同,只是多一个pr...

2019-11-05 20:16:49 496

原创 链表知识点总结(一):链表的常见操作以及复杂度分析

前言链表是数据结构中最基础的链式结构,也是后面构成图、树的基础。为此,我觉得有必要专门开几篇文章写写链表相关的内容,但是如果从零开始写起太过于枯燥,文章也会变得冗长,所以本文只写一些总结性的内容,对其中的原理不深究。另外,本文默认使用节点Node的C++定义为:class Node{public: int data; Node *next; Node...

2019-11-05 17:23:12 6047

原创 关于std::string的size()返回值类型是size_t的坑

先放结论:size_t在一些64位系统上被定义为unsigned long,将size_t和负数做比较会得到错误的结果。不废话,直接看一段代码string str = "abcde";int i = -1;cout << (i < str.size() ? "true" : "false") << endl;猜一下这段代码运行后会输出什么?没错...

2019-11-03 22:32:03 2345 1

原创 C++ 使用后缀表达式计算数学表达式 支持小数、负数计算

后缀表达式简介后缀表达式,简单地说,就是一种运算符在操作数后面的表达式,后缀表达式有个很重要的特点就是可以去掉中缀表达式的括号但是又保留运算的优先级,这样便于计算机计算表达式。而我们数学上使用的是中缀表达式,(表达式不包括双引号)例如“1+2*(-5)”,把这个表达式转成后缀表达式就是“1 2 -5 * +”。手动将中缀表达式转后缀表达式的方法手动将中缀转后缀的方法这里也说一...

2019-09-17 19:13:14 5455 3

原创 快速幂算法的原理及实现

幂运算,即次方运算,例如计算 的值即是幂运算,在实现的时候我们往往是这样写的:int __pow(int a,int b){ int ans = 1; while(b--){ ans *= a; } return ans;}其中a是底数,b为指数。从时间复杂度上分析这个算法的复杂度是O(n)级别,咋一看好像好很快,但是往往在比赛、做题的时...

2019-07-29 10:23:30 4131 1

原创 使用C++、现代OpenGL开发简单贪吃蛇小游戏

程序截图、编译好的程序以及源码可以在这里找到:https://github.com/Melonl/SnakeGame_OpenGL这是我接触OpenGL这么久一段时间以来第一次尝试开发小游戏,很多问题的解决方法都是我自己临时想出来的,可能与最优解相差甚远,这个项目算是一次尝试,同时也算是给后面的小伙伴的一个参考吧

2019-07-13 00:06:12 1718 2

原创 C++运算符重载知识点整理

在C++中,运算符和函数是等价的,它和函数一样可以通过重载的方式来灵活地解决各种实际问题。运算符重载的格式运算符重载有两种形式,一是重载为成员函数形式,二是重载为友元(或普通的类外)函数形式。以Complex复数类的 “+” 运算符为例,重载为成员函数的形式为:class Complex{ int real,image; public: Complex(in...

2019-05-16 22:58:46 2522 5

原创 C++ 与const相关的要点整理

1.const与变量(基本数据类型变量)在C++中,被const关键字修饰的变量,其值在程序运行时不可改变,我们称之为即常量。被const关键字修饰的变量和普通变量一样,拥有他自己的储存空间。定义const变量的格式为://const 数据类型 变量名 = 常量值; const int i = 100;或者交换const与数据类型的位置也是可以的:int const i ...

2019-03-31 11:31:49 208

原创 杨辉三角

题目描述还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1输入输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1&lt;=n&lt;=30),表示将要输出的杨辉三角的层数。输出对应于每一个输入,请输出相应层数的杨辉三角,每一...

2019-03-17 22:19:41 509

原创 十进制整数转成N进制数

题目描述输入一个十进制数N,将它转换成R进制数输出。输入输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2&lt;=R&lt;=16)。输出为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。样例输入7 223 12-4 3样例输出1111B-11主...

2019-03-17 19:28:56 3740 3

原创 求N个数的最小公倍数

题目描述求n(n &lt;= 50)个数的最小公倍数。输入输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。输出为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。样例输入2 4 63 2 5 7样例输出1270在数学上,我们求几个数的最小公倍数的方法是对他们分解质因数,...

2019-03-17 19:05:08 10114

原创 C++中 引用的理解

引用是一种用来表示其他变量的别名,对引用进行的操作会反应到其所引用的变量中。引用的声明以及使用int i = 5;int&amp; r = i;//声明引用r指向变量i引用的声明格式是 类型&amp; 引用名;和声明指针变量一样,这里的 “&amp;”符也不是取地址的意思,而是一种类似于“引用说明符”的东西,用来说明这个变量是引用类型。声明引用后,对引用进行的一切操作都相当...

2019-01-20 20:30:48 238

原创 Android开发:利用反射给Toolbar的sub title设置点击事件

先简单说下情况。我最近在开发一个文件管理器,UI用的MD风格,如图,上面的Toolbar的sub title用来显示当前路径,但是当路径比较长的时候路径显示不全,只显示了前面一段。我想让他在路径长度大于能显示的宽度时,只显示最后面的一段路径,前面的内容用省略号代替。除此之外,我还想添加点击sub title弹出一个对话框输入路径跳转的功能。  Toolbar相信大家都不陌生,我就不...

2019-01-20 19:39:16 743 2

原创 使用Java Swing开发的2048小游戏

完整工程源码:https://github.com/Melonl/Swing2048使用idea开发,用了Java swing组件来实现ui,源码里有很详细的注释。实际运行效果:最初是为了应付课程设计而写的,在写的时候想找些源码参考发现网上没几个用swing实现的2048源码,有几份还是要钱的,现特将此源码无偿分享出来给后来有需求的朋友参考。下面说下大体的实现思路。 首先,...

2018-12-28 17:52:34 3077 5

原创 理解C指针:(一)指针初探

指针是C语言的精华所在,可以说,学习C语言的指针就是学习C语言管理内存的方式。 什么是指针通俗地讲,指针就是一个储存内存地址的整形变量 指针的定义定义指针跟定义普通变量差不多: int *p; //声明一个指向int型数据的指针 格式为 类型* 指针名;在声明时用int型变量为它赋值: int i = 0;int *p = &amp;i;...

2017-05-20 12:09:48 274

空空如也

空空如也

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

TA关注的人

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