数据结构
文章平均质量分 50
新城已无旧少年_
仅以此号纪念我的学习历程......
展开
-
leetcode-每日一题-2383(简单,数学逻辑)
这道题主要考察对题意和数学思维的理解。原创 2023-03-13 22:54:39 · 326 阅读 · 2 评论 -
leetcode-每日一题-剑指offer47(中等,dp)
传统的dfs题,用dp做记忆化搜索,没啥难度。原创 2023-03-09 03:30:00 · 70 阅读 · 0 评论 -
leetcode-每日一题-66(简单题,数组)
这道题其实还没那么简单,中间还是有的绕的。原创 2023-03-08 04:00:00 · 141 阅读 · 0 评论 -
springboot整合mybatis框架,简单实现CRUD
(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。其实也就是在mybatis上面的衍生体,目前来看是开源的,非常方便,不需要像mybatis那样写xml文件。mybatis-plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作。原创 2023-03-07 17:08:47 · 718 阅读 · 0 评论 -
leetcode-每日一题-1653(中等,字符串判断)
这道题想清楚原理的话解决起来还是比较简单的,就是从第一个字母开始向两边排除字母。原创 2023-03-07 01:30:00 · 196 阅读 · 0 评论 -
leetcode-每日一题-807(中等,数组)
正常情况第一眼看这道题,看懂意思的话很简单就可以解出来。原创 2023-03-06 06:00:00 · 520 阅读 · 0 评论 -
leetcode-每日一题-1991(简单,一维前缀和)
介绍第一种方便想的,双前缀和进行判断,空间复杂度为o(n)然后分享一个空间复杂度是o(1)的方法。很简单的一道前缀和题目。原创 2023-03-05 23:45:00 · 133 阅读 · 0 评论 -
leetcode-每日一题-767(中等,字符串匹配)
这道题难度其实说难也不算难,说简单也不见得是简单的,究其原因就是理解题的本意最重要,我也是错了好几次最终才把结果写对了。时间复杂度和空间复杂度都几乎完美,只是代码看起来比较冗余,但其实里面没有一个代码是没用的,仔细看一下就能懂我的思路。原创 2023-03-04 00:00:00 · 109 阅读 · 0 评论 -
leetcode-每日一题-面试题05.02(中等,字符串)
首先第一眼看到这个题来说的话,其实就是考你对字符串的叠加状态和对二进制的理解,都会的话很简单,最后的字符串最后一个字符给到'\0'结尾,空间就可以设置到35就行。原创 2023-03-02 09:18:05 · 117 阅读 · 0 评论 -
c语言简单实现hash函数(开放地址法)
有啥优化可以自己加,欢迎留言讨论!原创 2023-02-11 05:00:00 · 1217 阅读 · 0 评论 -
leetcode-每日一题-1052-爱生气的书店老板(滑动窗口+前缀和,中等)
正常来看这道题的话,思路很明确,给了多少就滑动多大的空间,最后由于时间不太理想(o(n*m)),所以去看了下官方题解,发现了一个秒用就是把滑动窗口的滑动方案给优化了一下,减少了m时间复杂度,第一次提交错误是只考虑了窗口在数组后面的情况,第二次将窗口在开头,中间,结尾处都分析了一下,结果分析出了三个式子,无法合并,所以就将原本的代码改了,去掉了数组,换成了一次循环,然后细心一点就成功了,由于我的时间复杂度比较高,到达了1e7,举例超时就剩1e2了,所以超越的人数比较少。原创 2023-02-10 05:00:00 · 112 阅读 · 0 评论 -
leetcode-每日一题-计算布尔二叉树的值-2331(dfs,简单)
就是一个简单的二叉树查找问题,读清楚题目就可以求解。原创 2023-02-07 03:00:00 · 227 阅读 · 0 评论 -
leetcode-每日一题-1334-阈值距离内邻居最少的城市(中等,floyd)
城市 0 和 3 在阈值距离 4 以内都有 2 个邻居城市,但是我们必须返回城市 3,因为它的编号最大。城市 1 -> [城市 0, 城市 2, 城市 3]城市 2 -> [城市 0, 城市 1, 城市 3]城市 4 -> [城市 1, 城市 2, 城市 3]城市 0 -> [城市 1, 城市 2]城市 3 -> [城市 1, 城市 2]城市 1 -> [城市 0, 城市 4]城市 2 -> [城市 3, 城市 4]城市 3 -> [城市 2, 城市 4]城市 0 -> [城市 1]原创 2023-02-03 02:30:00 · 318 阅读 · 0 评论 -
leetcode-每日一题-1663-具有给定数值的最小字符串(简单,贪心)
很久没有做过贪心类型的题目了,因为用的很少,大多都用的dp,这道题第一眼看过去以为是dp,因为力扣里面的中等题很多都是dp,但仔细一看发现是贪心,思路其实很简单,先全部最小,中间插一个数,后面全部选最大的即可,刚开始思路错了导致错了几次后面把代码重新修改了之后就成功了,写完博客睡觉了!原创 2023-02-02 02:30:00 · 316 阅读 · 0 评论 -
leetcode-每日一题-1664-生成平衡数组的方案数(中等,动态规划)
【代码】leetcode-每日一题-1664-生成平衡数组的方案数(中等,动态规划)原创 2023-02-01 02:00:00 · 288 阅读 · 0 评论 -
leetcode-每日一题-1669-合并两个链表(中等,链表操作)
我们只需要将两个链表的节点接在一起即可,不需要浪费多余空间了。原创 2023-01-31 01:00:00 · 255 阅读 · 0 评论 -
leetcode-每日一题-计算应缴税款总额(简单,数学逻辑)
【代码】leetcode-每日一题-计算应缴税款总额(简单,数学逻辑)原创 2023-01-23 21:30:00 · 1365 阅读 · 1 评论 -
leetcode-每日一题-强密码检验器II(简单,数学逻辑)
【代码】leetcode-每日一题-强密码检验器II(简单,数学逻辑)原创 2023-01-19 18:19:36 · 1372 阅读 · 0 评论 -
leetcode-每日一题-丑数 II(dp,中等)
这里面第一次是用的暴力模拟,所以超时了,当时想的是nlogn直接模拟也没事,到最后时间复杂度太高了。整体思路就是模拟n的过程,从1-n一步一步来进行dp,模拟三个数来进行迭代即可。原创 2023-01-12 23:31:45 · 118 阅读 · 0 评论 -
leetcode-每日一题-判断一个数的数字计数是否等于数位的值(简单,数学逻辑)
思路就是,设置一个数组来模拟上面题目的要求得到一个全新的数组,然后对比这两行个数组即可,完全一样就是true,反之亦然。原创 2023-01-11 23:15:18 · 312 阅读 · 0 评论 -
查找与排序综合实验-代码实现(c语言,实验代码)
代码实现:采用了对应的排序算法,结构体,时间函数,随机数,文件操作等等操作,切勿用于非法用途,仅供学习参考使用!代码有任何问题都可以私聊我!原创 2023-01-09 18:38:10 · 570 阅读 · 0 评论 -
线性表的表示与实现-代码实现(c语言,实验代码)
代码实现:代码使用到了顺序表,结构体,顺序表的各种操作等等,所有代码为本人手写,切勿用于非法用途,仅供参考学习。原创 2023-01-09 18:33:29 · 552 阅读 · 0 评论 -
一元多项式运算器-代码实现(c语言)
要求学生运用数据结构基本原理、计算机高级程序设计语言和相关工具,分析并求解符号计算领域中的一元多项式运算问题,实现一元多项式的加法、减法、乘法、求值、求导、求积分等运算。代码实现:里面有文件操作,伪分布随机数生成,时间函数使用,结构体使用等等,全部代码由本人手写,希望各位不要抄袭,仅供参考学习,不要用于非法用途。代码运行的问题可以私聊我账号,切记不要抄袭!原创 2023-01-09 18:27:40 · 1375 阅读 · 0 评论 -
leetcode-每日一题-还原排列的最少操作步数(中等,数学逻辑)
这道题第一眼反应是dp,因为做了很多dp的题目所以第一反应就是dp,认真看一下发现应该是数学规律,因为题目给的条件很容易让人想到是摸索规律,发现给n赋予一些值之后比如4.6.8进行测试发现就是每次把下标为偶数的数组值提前,为奇数的往后放,依据这个规律我们只需要找一个代表的偶数和代表的奇数,当他们两同时归位的时候我们就认为整体是归位好的,这个证法是正确的,所以我们只需要将题目给的条件封装成一个函数即可求解。原创 2023-01-09 18:03:35 · 346 阅读 · 0 评论 -
leetcode-1480. 一维数组的动态和(动态规划-简单)
数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1]。解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4]。著作权归领扣网络所有。输入:nums = [3,1,2,10,1]输入:nums = [1,1,1,1,1]输入:nums = [1,2,3,4]输出:[3,4,6,16,17]输出:[1,2,3,4,5]输出:[1,3,6,10]原创 2022-10-28 22:24:34 · 599 阅读 · 0 评论 -
leetcode-面试题13. 机器人的运动范围(动态规划-中等)
一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。由于这道题只是简单的上下左右,并没有涉及到左下左上,右下右上这另外四种移动方式,就很简单了,首先题目说到的该坐标的和不能大于k值,而这个坐标和并不是简单的相加而是进行的分裂开在和到一起,所以我们编一个函数来运算这样显得更美观一点,这样我们计算坐标和的时候我们就可以直接sum(x)+sum(y)与k进行比大小了。输入:m = 3, n = 1, k = 0。原创 2022-10-27 22:31:50 · 255 阅读 · 0 评论 -
洛谷3366最小生成树kruskal,c语言
题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz。输入格式第一行包含两个整数N,MN,M,表示该图共有NN个结点和MM条无向边。接下来MM行每行包含三个整数X_i,Y_i,Z_iXi,Yi,Zi,表示有一条长度为Z_iZi的无向边连接结点X_i,Y_iXi,Yi。输出格式如果该图连通,则输出一个整数表示最小生成树的各边的长度之和。如果该图不连通则输出orz。输入输出样例输入 #1复制4 51 2 21 ...原创 2022-04-24 09:18:01 · 278 阅读 · 0 评论 -
2022第十三届蓝桥杯第一场,b组c/c++题目和个人理解
第十三届蓝桥杯原创 2022-04-10 12:37:05 · 2460 阅读 · 1 评论 -
蓝桥杯第十一届决赛B组-质数行者(c语言,三维dp,坐标型dp)
质数行者-蓝桥杯国赛原创 2022-04-05 22:14:39 · 845 阅读 · 0 评论 -
并查集基础篇,配套洛谷3367(c语言)
经典并查集——数据结构原创 2022-04-01 18:29:08 · 851 阅读 · 0 评论 -
邻接矩阵储存图,DFS遍历图(c语言,数据结构,超级详细,有运行图的)
DFS图的遍历(c语言)原创 2021-11-25 20:58:41 · 409 阅读 · 0 评论 -
huffmantree(哈夫曼树)C语言,用结构数组实现
废话不多说直接看代码,有什么对于哈夫曼树的疑问直接去百度就行了,这里就不啰嗦了:#include<stdio.h>#define N 5#define M 2*N-1typedef struct huffmantree{ int weight; int parent; int lchild; int rchild; int ownplase; //每个带权值的节点的位置// }huffmantree; //一般清空下,第0号元素不用//v.原创 2021-10-31 12:46:10 · 516 阅读 · 0 评论 -
用c语言写二叉树(链表),初始化,创建,三种输出,判断叶子节点个数,叶子节点输出,层数判断
首先定义一个二叉树(我这里用的是双目定义的,也就是没有定义双亲):typedef struct tree{ char data; struct tree *lchild,*rchild;}BiTNode,*BiTree;然后就是初始话我感觉这个初始话好像可有可无的感觉:void Inittree(BiTree *T) //初始化// { *T=(BiTree)malloc(sizeof(BiTNode)); (*T)->data=NULL; (*.原创 2021-10-30 12:16:45 · 3838 阅读 · 2 评论 -
用顺序栈实现回文序列的判断(c语言)
我是采用了两个栈值得比较大小判断得(可能比较浪费空间但是代码我感觉简单一点)首先是定义一个栈的结构元素,由于是字符串类型就直接定义一个char的数组就可以:typedef struct stack{ char data[MAX_SIZE]; //储存字符串// int top; //记录栈顶// }SeqStack;下来就是初始化,我这里是用的耿国华老师的方法就直接给一个top元素指向栈顶,传入的指针地址:void Ini原创 2021-10-14 10:28:36 · 4403 阅读 · 0 评论 -
用单循环链表实现约瑟夫环(c语言)
首先我是设置的链表节点的元素包括三个:1.每个人的各自拥有的顺序(math表示)2.每个人所拥有的密码(data表示)3.指针元素指向下一个:typedef struct node { int math; //math为人的顺序// int data; //data为人所带的密码// struct node *next;} node,*Linklist;然后初始话是直接用的双重指针传入的函数体,当然返回值就是void了:void Initlist(Linklist *L) .原创 2021-10-13 22:54:06 · 3679 阅读 · 2 评论