lhx_cqupt
码龄7年
求更新 关注
提问 私信
  • 博客:55,672
    55,672
    总访问量
  • 67
    原创
  • 20
    粉丝
  • 111
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2019-10-31
博客简介:

weixin_45819533的博客

查看详细资料
个人成就
  • 获得30次点赞
  • 内容获得9次评论
  • 获得122次收藏
  • 代码片获得203次分享
  • 博客总排名1,637,123名
创作历程
  • 2篇
    2022年
  • 54篇
    2021年
  • 11篇
    2020年
成就勋章
TA的专栏
  • Java企业级开发
    2篇
  • 算法
    25篇
  • 笔记
    38篇
  • csp
    19篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 3

TA参与的活动 0

兴趣领域 设置
  • 大数据
    hadoop
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

211人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

使用Nacos作为配置中心

nacos的应用
原创
博文更新于 2022.09.01 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微服务、分布式、集群的概念

微服务、分布式、集群的理解
原创
博文更新于 2022.09.01 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

初探dynamic planning

一个LeetCode的题目,要求找到从一个图的左上方到达右下角的路径一共有几条。要明确第一点机器人只能从左往右从上往下走这样也就明确了一点:到达某个位置只能从上面来或者从左边来,那么到达该位置的总的路径数就是到达该位置左边的路径的树目和到达该位置右边的树目的总和(因为没有别的选择了),因此可以写出函数f(i,j)=f(i-1.j)+f(i,j-1),又有要到达最上面的那一行或者是最前面的那一列都只能顺着走不能掉头,使用到达第一行第一列的任意一个位置的路径都是1,先把它们初始化之后再遍历二维数组,每一个位置.
原创
博文更新于 2021.10.13 ·
288 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深度优先搜索实现回溯算法

回溯算法用于搜索一个问题的所有解,通过深度优先遍历的思想实现。回溯算法本质上是一种遍历算法,它可以搜索到解决问题的所有方案,时间复杂度很高。 搜索的方法就是按顺序枚举出每一种可能出现的情况,已经选择了的在当前的这一次搜索中就不能出现,这样就能实现不丢不重。 如题:要找出所有不重复的组合,一个数可以使用若干次,这就要用到回溯法把所有可能的搜索出来,使用深度优先搜索+递归的思想,找到底了再回去。【2,2,3】【3,2,2】其实是一种所以在搜索的时候一旦前面的搜索完毕了后面在搜索的时候就不能再考虑前面的数,这就
原创
博文更新于 2021.10.02 ·
368 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

记录一个队列在算法题中的应用

如图要将输入的字符串对应的电话号码上的英文的全部组合进行输出,可以利用队列先进先出的思想,每次将队列中的第一个字符串移除出,用它和新来的字符串进行组合,得到新的组合后再将现在组合好的字符串重新添加到集合当中。 1.首先往集合中添加一个空的字符串,第一次有一个进来,拿空的串和新的字母直接进行拼接,依次的往后加到集合; 2.此后的每一次都是拿到头部和新来的组合以后放到尾部,不断操作最终得到完整的组合。 class Solution { public List<String> letterC.
原创
博文更新于 2021.09.25 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

双指针解决最大容器问题

首先要明确,要求的容积等于两根板之间的距离乘以两根板之间较短那根板的长度,很容易的能想到遍历,但是两层遍历会导致时间复杂度过高,所以用双指针的思路来解决问题,首先使两个指针各指向数组的两端,并求得此时的面积,此后要更新指针的指向; 这个地方是最精彩的部分,在移动指针的时候我们只需将短的那个板向内移动,为什么可以这样做?不会有遗漏吗? 这是因为移动长板子的话只会使得容积变小,因此我们移动短的板子的话其实变相的在排除掉一些不可能作为最大容积的数据,这样一来时间复杂度就大大的降低了。并且也不会遗漏,这是一种排除.
原创
博文更新于 2021.09.24 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

滑动窗口算法

力扣上的一个题:求一个字符串中最大不重复子段的长度。 1.定义变量left保存左窗口的边界,当前i-left就是窗口的长度。 思路就是一边遍历一边去更新窗口的边界值。 在这里插入代码片`public int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>(); int maxLen = 0;//用于记录最大不重复子串的长度 .
原创
博文更新于 2021.09.19 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

矩阵置0算法

要把二维数组中0元素所在的行和列都置为0,假如直接在遍历的时候就将其置为0,那么后面再遍历的时候就会将一些不该置为0的也置成了0,所以我们这里再建一个和原二维数组一样大的标记二维数组,这个数组就用来记录该变成0的行和列,记录完了之后再次遍历这个新的标记数组,将打了标记的地方置为0即可 class Solution { public void setZeroes(int[][] matrix) { int a=matrix.length , b= matrix[0].length; .
原创
博文更新于 2021.09.15 ·
718 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一个有趣的算法题

一个力扣的算法题,判断行和列以及每一个九宫格内有没有重复的数据,有就返回false,没有的话返回一个true,常规的遍历好多次的话也能解出来但是没必要。这里遍历一次,并创建一个布尔类型的二维数组,行号用来保存数独中的行或者列,列号用于保存当前遍历到的值,这样的话每次遍历到行中或者列中重复的元素就可以一下子就锁定到,另外要注意每一个九宫格的序号可以用(i/3)*3+j/3来表示,这样一次遍历就可以解决问题,但开辟了二维数组空间相应的增大了,用空间换时间的做法。 class Solution { pu.
原创
博文更新于 2021.09.15 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排序-快排

排序思想:分治 实现步骤: 2.1.随机选取一个数作为分界点 2.2.调整区间,使得在分界点左边的数小于等于分界点,在分界点右边的数大于等于分 界点(难点重点) 单开两个数组,完了把要排序的数组分别以大于分界点和小于分界点放到两个数组中,再把两个数组放回到原来的数组就实现了快排 2.3.将分界点两边的数分别递归进行排序 #include<iostream> using namespace std; const int N = 1e6 + 10; int n; int..
原创
博文更新于 2021.08.16 ·
124 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第二题公共钥匙盒

这题算法实在经典:先用1-N个数组元素保存钥匙,1-N bool型元素保存某号钥匙是否到了要还的时候了,1-K个结构体数组元素来保存老师的信息。利用时间来判断某一个时刻该还的和该借的,当某一个时刻要还的时候先遍历一遍,将要还的钥匙的编号打上标记,也就是使其为TRUE,这时候再从小遍历钥匙数组,是0的地方就直接插入进去,这样又保证了先从小的编号处开始还。借钥匙是将这个老师所需要的钥找到后使该位置的元素为0即可。从时刻来操作的话又使得每次实现了先还后借的需求。 #include <iostream&g.
原创
博文更新于 2021.03.24 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

CSP第一题线性分类器

这个题的难度不小,先理清题意:输入n个点,其中每个点都属于A类或者B类。再输入m组数据,是方程的参数,这组数据可以确定一条直线,若直线可以将分属于不同类别的点完全的分隔开,那么就输出yes,否则输出no。 据此题意一点点实现:首先是如何将点的数据保存下来,因为分属于不同的类别的点要将其分离开所有使用字符变量接收键入的类别数据,而后判断之,分别将其归入不同的数组。还有一个问题,一个点的坐标是两个,故一共要开四个数组分别保存数据。现在解决第二个问题,键入三组数据,如何判断是不是将AB组数据分开了呢,只需判断将x
原创
博文更新于 2021.03.24 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第二题消除类游戏

思路:定义两个数组,其中一个用来保存棋盘信息,另一个用来作为新的位置标记,这个思路很有用,一个数组存信息一个数组做位置标记。两番遍历数组,第一次是横着遍历,为了使横排连着三个相等的位置被记录,这个时候就使列++之后再使行++,还有就是要注意列数遍历到n-2个位置即可因为后面还要加的。 找连行相等也是同理,但是现在是使行先++完了再使列++,也要注意行只能到倒数第二行,因为还要加二。 #include <iostream> using namespace std; int main(){ in.
原创
博文更新于 2021.03.24 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第二题ISBN号码

使用c++字符串容器,直接将输入存到字符串容器后,通过前9位数据求sum,但求的时候要注意因为字符串容器中的数据是字符变量因此要减去’0’;之后直接sum%11,结果直接给到char c,若c等于10,那就将c赋值为X否则c=c+’0’;然后将字符串最后一位与c比较,若相同则输出Right,若不同直接将c给最后一个元素。 #include <iostream> #include <string> using namespace std; int main(){ string s;.
原创
博文更新于 2021.03.24 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第二题窗口

这是一个较难的题目。题意分析:输入n个窗口m个鼠标落下的坐标,若鼠标落在了几个窗口上,那么优先输出位于上方的窗口,重叠是指几个窗口彼此压在一起,这样的话先输入的窗口反而会在最下面,输出了在上方的窗口后,要将该窗口移到最上层来。 思路分析:由于坐标杂,因此用结构体类型数据分别保存鼠标击点以及窗口的信息,关键要建立先键入的窗口反而在下面的这种映射关系。于是用一个int型数组将先输入的反而设置到最大的序号。将点到的窗口移到最上层也是只需调整这个序号数组即可。 #include <iostream> .
原创
博文更新于 2021.03.24 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

2021-03-24

这个题非常的简单,题意有点拐弯抹角,关键要理解题意: 学生的分数是score,重要程度是w,每次将键入的w和score乘起来后相加求累加的和,这里这个ReLU函数实际上就是烟雾弹,意思就是若一个数比和0比大小谁大就返回谁。 #include <iostream> #include <math.h> using namespace std; int ReLU(int x){ if(x>0){ return x; }else{ return 0; } } int .
原创
博文更新于 2021.03.24 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第一题跳一跳

问题实际上意思是这样的:遇到1就加一分,不论是连续第几个1。遇到2的话就有规矩了,遇到第一次2就加两分,遇到连续的第二次加四分……以此类推。遇到0就结束。 因此创建数组接收输入的数,没有指定几个,但0肯定是末尾,所有设最大的结束标志是i=30,而后再键入数据是0时立即跳出循环。故序号0-i都是有数据的。 第二个循环用来遍历输入的数据,遇到0直接结束,遇到1加一分并将flag归为0,因为flag代表的就是这是第几个连续的2,一旦有了1,那么2的连续次数就归零。一旦遇到2先把flag+1,再在原先的基础上+f.
原创
博文更新于 2021.03.24 ·
222 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

CSP第一题找出相差最小的两个数的绝对值

求一组数据中最小的差值,即遍历两次数组即可,第二轮循环在第一轮的下一个元素开始,并求两个值之间差的绝对值,若小于min就将其赋给min,这样循环过后min的值一定是数据间最小的差值。 #include <iostream> #include <math.h> using namespace std; int main(){ int m,min=10000,i,a[1000],j,temp; cin>>m; for(i=0;i<m;i++){ cin>
原创
博文更新于 2021.03.24 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CSP第十一次第一题:分蛋糕

思路:定义一个变量来保存一个小朋友分到的蛋糕,内循环当分到的蛋糕达到规定的值就跳出,然后判断外面循环,外循环跳出的条件是所有的蛋糕分完了,也就是数组遍历完了,当然,到数组遍历完了之后内循环也要跳出,所有在跳出内循环的时候要判断分到的蛋糕是不是大于0,只要比0大就说明多一个小朋友分到了蛋糕。 *******一定要注意跳出内循环以后将小朋友人数加一以后不要忘记将保存蛋糕的变量清零。 不然会死循环出不来。代码如下: #include <iostream> using namespace std; in
原创
博文更新于 2021.03.19 ·
303 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

CCF第十二次第一题:打酱油

问一定金额的钱最多可以打多少酱油,而题意中打50块钱的送得最多,打30块钱的次之,故问题转化为优先将钱分成最多的50块钱(money/50),分完以后再将剩下的钱分成尽可能多的30,最后再用剩下的去打。 #include <iostream> using namespace std; int main(){ int m,fiveTen,threeTen,ten,num; cin>>m; fiveTen=m/50; threeTen=(m-fiveTen*50)/30; te
原创
博文更新于 2021.03.19 ·
186 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多