算法
文章平均质量分 56
新城已无旧少年_
仅以此号纪念我的学习历程......
展开
-
leetcode-每日一题-2383(简单,数学逻辑)
这道题主要考察对题意和数学思维的理解。原创 2023-03-13 22:54:39 · 330 阅读 · 2 评论 -
leetcode-每日一题-2379(简单,字符串)
久违的简单题......原创 2023-03-10 03:00:00 · 450 阅读 · 0 评论 -
leetcode-每日一题-剑指offer47(中等,dp)
传统的dfs题,用dp做记忆化搜索,没啥难度。原创 2023-03-09 03:30:00 · 71 阅读 · 0 评论 -
leetcode-每日一题-66(简单题,数组)
这道题其实还没那么简单,中间还是有的绕的。原创 2023-03-08 04:00:00 · 144 阅读 · 0 评论 -
springboot整合mybatis框架,简单实现CRUD
(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。其实也就是在mybatis上面的衍生体,目前来看是开源的,非常方便,不需要像mybatis那样写xml文件。mybatis-plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作。原创 2023-03-07 17:08:47 · 720 阅读 · 0 评论 -
leetcode-每日一题-1653(中等,字符串判断)
这道题想清楚原理的话解决起来还是比较简单的,就是从第一个字母开始向两边排除字母。原创 2023-03-07 01:30:00 · 197 阅读 · 0 评论 -
leetcode-每日一题-807(中等,数组)
正常情况第一眼看这道题,看懂意思的话很简单就可以解出来。原创 2023-03-06 06:00:00 · 522 阅读 · 0 评论 -
leetcode-每日一题-1991(简单,一维前缀和)
介绍第一种方便想的,双前缀和进行判断,空间复杂度为o(n)然后分享一个空间复杂度是o(1)的方法。很简单的一道前缀和题目。原创 2023-03-05 23:45:00 · 134 阅读 · 0 评论 -
leetcode-每日一题-767(中等,字符串匹配)
这道题难度其实说难也不算难,说简单也不见得是简单的,究其原因就是理解题的本意最重要,我也是错了好几次最终才把结果写对了。时间复杂度和空间复杂度都几乎完美,只是代码看起来比较冗余,但其实里面没有一个代码是没用的,仔细看一下就能懂我的思路。原创 2023-03-04 00:00:00 · 112 阅读 · 0 评论 -
leetcode-每日一题-面试题05.02(中等,字符串)
首先第一眼看到这个题来说的话,其实就是考你对字符串的叠加状态和对二进制的理解,都会的话很简单,最后的字符串最后一个字符给到'\0'结尾,空间就可以设置到35就行。原创 2023-03-02 09:18:05 · 120 阅读 · 0 评论 -
leetcode-每日一题-1144(中等,贪心,数学)
这道题说实话理清楚的话很简单,就是很容易绕进去,刚开始绕进去了很难受,解了半天才出来。时间复杂度因为是o(n)所以很少,但是多用了一个数组所以空间复杂度o(n)比较高一点。原创 2023-02-28 03:00:00 · 205 阅读 · 0 评论 -
leetcode-每日一题-1247(中等,数学逻辑)
其次就是只有当x和y位置差异产生的数量同奇偶的时候才可以构成相等字符串,所以当x%2==y%2时我们进行计算,否则return -1;至于奇偶的不同算式,只需要写两个例子就可以归纳出来。比如s1="xxxxxxyyyy";就可以看成s1="xxxyyyy";这道题当理解清了意思之后,只要是s1和s2的某位置的字母一样时我们就可以忽视。也是成功超越几乎双百的提交者。原创 2023-02-27 02:30:00 · 231 阅读 · 0 评论 -
leetcode-每日一题-1138(中等,字符串应用)
【代码】leetcode-每日一题-1138(中等,字符串应用)原创 2023-02-13 02:00:00 · 122 阅读 · 0 评论 -
leetcode-每日一题-1052-爱生气的书店老板(滑动窗口+前缀和,中等)
正常来看这道题的话,思路很明确,给了多少就滑动多大的空间,最后由于时间不太理想(o(n*m)),所以去看了下官方题解,发现了一个秒用就是把滑动窗口的滑动方案给优化了一下,减少了m时间复杂度,第一次提交错误是只考虑了窗口在数组后面的情况,第二次将窗口在开头,中间,结尾处都分析了一下,结果分析出了三个式子,无法合并,所以就将原本的代码改了,去掉了数组,换成了一次循环,然后细心一点就成功了,由于我的时间复杂度比较高,到达了1e7,举例超时就剩1e2了,所以超越的人数比较少。原创 2023-02-10 05:00:00 · 114 阅读 · 0 评论 -
leetcode-每日一题-计算布尔二叉树的值-2331(dfs,简单)
就是一个简单的二叉树查找问题,读清楚题目就可以求解。原创 2023-02-07 03:00:00 · 227 阅读 · 0 评论 -
leetcode-1567-每日一题-乘积为正数的最长子数组长度(动态规划,中等)
刚开始四处碰壁,导致没有解出来。最后突然想到换一个方向即可。这种类型题以前做过,从前往后和从后往前各算一遍就可以得到结果。原创 2023-02-05 03:00:00 · 388 阅读 · 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 · 317 阅读 · 0 评论 -
leetcode-每日一题-1664-生成平衡数组的方案数(中等,动态规划)
【代码】leetcode-每日一题-1664-生成平衡数组的方案数(中等,动态规划)原创 2023-02-01 02:00:00 · 291 阅读 · 0 评论 -
leetcode-每日一题-1669-合并两个链表(中等,链表操作)
我们只需要将两个链表的节点接在一起即可,不需要浪费多余空间了。原创 2023-01-31 01:00:00 · 256 阅读 · 0 评论 -
leetcode-每日一题-计算应缴税款总额(简单,数学逻辑)
【代码】leetcode-每日一题-计算应缴税款总额(简单,数学逻辑)原创 2023-01-23 21:30:00 · 1367 阅读 · 1 评论 -
leetcode-每日一题-强密码检验器II(简单,数学逻辑)
【代码】leetcode-每日一题-强密码检验器II(简单,数学逻辑)原创 2023-01-19 18:19:36 · 1375 阅读 · 0 评论 -
leetcode-每日一题-丑数 II(dp,中等)
这里面第一次是用的暴力模拟,所以超时了,当时想的是nlogn直接模拟也没事,到最后时间复杂度太高了。整体思路就是模拟n的过程,从1-n一步一步来进行dp,模拟三个数来进行迭代即可。原创 2023-01-12 23:31:45 · 120 阅读 · 0 评论 -
leetcode-每日一题-判断一个数的数字计数是否等于数位的值(简单,数学逻辑)
思路就是,设置一个数组来模拟上面题目的要求得到一个全新的数组,然后对比这两行个数组即可,完全一样就是true,反之亦然。原创 2023-01-11 23:15:18 · 312 阅读 · 0 评论 -
查找与排序综合实验-代码实现(c语言,实验代码)
代码实现:采用了对应的排序算法,结构体,时间函数,随机数,文件操作等等操作,切勿用于非法用途,仅供学习参考使用!代码有任何问题都可以私聊我!原创 2023-01-09 18:38:10 · 575 阅读 · 0 评论 -
线性表的表示与实现-代码实现(c语言,实验代码)
代码实现:代码使用到了顺序表,结构体,顺序表的各种操作等等,所有代码为本人手写,切勿用于非法用途,仅供参考学习。原创 2023-01-09 18:33:29 · 553 阅读 · 0 评论 -
TCP拥塞控制系统模拟算法实现(含代码,c语言实现)
由于网络上面的TCP拥塞控制讲解很多,这里就不多介绍了,大家可以看看其他博主的博客大部分都讲的很清楚,顺便给大家推荐一个视频可以看看。下面可以看看我的实验代码,希望不要用于实验提交等等非法用途,仅供参考学习。原创 2023-01-09 18:13:02 · 1023 阅读 · 0 评论 -
leetcode-每日一题-还原排列的最少操作步数(中等,数学逻辑)
这道题第一眼反应是dp,因为做了很多dp的题目所以第一反应就是dp,认真看一下发现应该是数学规律,因为题目给的条件很容易让人想到是摸索规律,发现给n赋予一些值之后比如4.6.8进行测试发现就是每次把下标为偶数的数组值提前,为奇数的往后放,依据这个规律我们只需要找一个代表的偶数和代表的奇数,当他们两同时归位的时候我们就认为整体是归位好的,这个证法是正确的,所以我们只需要将题目给的条件封装成一个函数即可求解。原创 2023-01-09 18:03:35 · 346 阅读 · 0 评论 -
leetcode-每日一题(补前几天的1832,1945)
转化:"leetcode" ➝ "(12)(5)(5)(20)(3)(15)(4)(5)" ➝ "12552031545" ➝ 12552031545。- 转换 #1:12552031545 ➝ 1 + 2 + 5 + 5 + 2 + 0 + 3 + 1 + 5 + 4 + 5 ➝ 33。最近放假回到家里几乎不怎么看力扣了,今天晚上睡觉前抽出来时间看看前两天的每日一题,都是简单的。首先,用字母在字母表中的位置替换该字母,将。因此,结果整数为 36。因此,结果整数为 6。为一个整数(也就是,原创 2022-12-15 23:32:01 · 167 阅读 · 1 评论 -
数据结构-克鲁斯卡尔算法,普利姆算法(求最小生成树)
这就是大体理解一下,为了做到上面的效果我们需要两个数组来存储,第一个用来存储每一个节点的祖先分别是什么,第二个用来存储当前节点的祖先下面有几个子节点。众所周知啊克鲁斯卡尔(Kruskal)算法就是用边权值进行寻找最小生成树,先将边的最小值进行一个排序然后从最小值开始寻找生成一颗完整的树。举一个简单例子Eg:比如a跟b有关系,b是a的父亲,然后a和c是兄妹关系,那么b也就是c的父亲。第三种:a->b->e,c->e=>(a,c,b)->e。第二种:a->b,b->c=>a->b->c。原创 2022-12-15 14:04:37 · 652 阅读 · 0 评论 -
数据结构-迪杰斯特拉,佛洛依德(两顶点之间可到达的最短距离)
直接用三个for循环来计算所有顶点之间的距离,当然了也就不需要flag当标记了核心代码也简洁了很多,相当于对于迪杰斯特拉外侧套了一个for循环是一样的。时间复杂度为o(n3)简单介绍一下吧,贪心算法的使用,就是每次循环贪心一次,然后循环边的总数之后就可以得出最后的总结果。原创 2022-12-15 00:40:45 · 268 阅读 · 0 评论 -
leetcode-每日一题-1812- 判断国际象棋棋盘中一个格子的颜色(简单,逻辑判断)
给定坐标一定代表国际象棋棋盘上一个存在的格子。坐标第一个字符是字母,第二个字符是数字。,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。如上图棋盘所示,"a1" 坐标的格子是黑色的,所以返回 false。如上图棋盘所示,"h3" 坐标的格子是白色的,所以返回 true。如果所给格子的颜色是白色,请你返回。,如果是黑色,请返回。原创 2022-12-09 00:20:16 · 105 阅读 · 0 评论 -
leetcode-每日一题-二进制表示中质数个计算置位(简单,popcount算法)
从这道题了解到了一个时间复杂度为o(1)的一个计算一个数转换为二进制时1存在的个数问题,很巧妙运用了二分来求解,代码如下unsigned popcount (unsigned u){ u = (u & 0x55555555) + ((u >> 1) & 0x55555555); u = (u & 0x33333333) + ((u >> 2) & 0x33333333); u = (u & 0x0F0F0F0F) + ((u >> 4) & 0x0F0F0F0F);原创 2022-12-06 23:49:44 · 494 阅读 · 1 评论 -
leetcode-每日一题-1796-字符串中第二大的数字(简单,字符串)
简单题,没啥说的..............原创 2022-12-03 14:38:49 · 178 阅读 · 1 评论 -
leetcode-每日一题-1779-找到最近的有相同 X 或 Y 坐标的点(简单,数学思想)
所有点中,[3,1],[2,4] 和 [4,4] 是有效点。有效点中,[2,4] 和 [4,4] 距离你当前位置的曼哈顿距离最小,都为 1。[2,4] 的下标最小,所以返回 2。今天这道每日一题很简单,没啥可说的,细心点即可。当一个点与你所在的位置有相同的。如果有多个最近的有效点,请返回下标。同时,在同一个坐标系下给你一个数组。,表示你在一个笛卡尔坐标系下的。如果没有有效点,请返回。答案可以与你当前所在位置坐标相同。坐标时,我们称这个点是。请返回距离你当前位置。原创 2022-12-01 22:30:42 · 443 阅读 · 1 评论 -
leetcode-每日一题-888-公平的糖果交换(简单,数学逻辑)
这道题主要考察对题意得理解我们只需要求出爱丽丝和鲍勃的所有值的和然后进行相减得出他们的差,利用这个差进行for结果集查询,筛选符合的条件,不过时间复杂度是o(n2)但是空间复杂度是o(1),也可以用hash,空间换时间了具体可以看官方题解,这里就不多介绍了,看代码。两人想要互相交换一盒糖果,这样在交换之后,他们就可以拥有相同总数量的糖果。一个人拥有的糖果总数量是他们每盒糖果数量的总和。是鲍勃必须交换的糖果盒中的糖果的数目。爱丽丝和鲍勃拥有不同总数量的糖果。是爱丽丝必须交换的糖果盒中的糖果的数目,原创 2022-11-30 22:32:39 · 179 阅读 · 0 评论 -
leetcode-每日一题-1758-生成交替二进制字符串的最少操作数(简单,数学思想)
定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。那么知道这个信息之后就很简单了,加上我们的位运算符号^作为标记即可,大家看看代码实现。如果将最后一个字符变为 '1' ,s 就变成 "0101" ,即符合交替字符串定义。这道题标记为简单题是正常的,因为当你想到0或者1开头的时候就已经结束了看看我的分析。需要 2 步操作得到 "0101" 或 "1010"。一步操作中,你可以将任一。是交替字符串,而字符串。s 已经是交替字符串。原创 2022-11-29 21:49:57 · 588 阅读 · 0 评论 -
leetcode-每日一题-813-最大平均值和的分组(中等,dp)
这道题我用c写了一百多行代码........实属没想到啊,思路其实是错的,还是想简单了,因为刚开始的思路就是从这numsSize个数里面挑选出最大的k的数进行排序他们的集合然后在这个集合里面进行筛选出序号相同的值最后在进行累加计算就可以得到结果,于是我就写了几个函数用来操作,发现思路错了..................大意了,浪费了一个小时的时间啊,大家想看的可以看看我的代码,我后面看别人的思路解了,动态规划比较简单。我们也可以把 nums 分成[9, 1], [2], [3, 9].原创 2022-11-28 21:08:15 · 516 阅读 · 1 评论 -
leetcode-每日一题-69-x的平方根(简单,引出c语言内部sqrt的底层实现)
那么我们可以利用这个根号a来做文章,x相当于题目给的需要求解的平方的数,a相当于我们最后的返回int值,那我们就可以用while来写一个关系,每次让a的值都进行缩进直到a的平方小于x为止,时间复杂度几乎为0。题目要求是不用sqrt或者pow等内部函数来实现平方根,所以我们借此可以来看看c语言sqrt的底层是怎么实现的.8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。当然了效率很低下,纯暴力去求解,时间复杂度o(n的二分之一次方)由于返回类型是整数,结果只保留。原创 2022-11-26 22:25:38 · 640 阅读 · 4 评论 -
leetcode-每日一题-809-情感丰富的文字(中等,逻辑问题)
【代码】leetcode-每日一题-809-情感丰富的文字(中等,逻辑问题)原创 2022-11-25 22:46:27 · 129 阅读 · 5 评论