- 博客(40)
- 收藏
- 关注
原创 git的坑
显示:fatal: Authentication failed for 'https://gitee.com/zhang-great/stm32-smart-security-system.git/'之后 输入 git checkout -- 文件夹 就恢复成功。最后又看网上的博客 说要输入 git pull --rebase origin master。首先是名字出错,不知为何gitee任意把我的名字更改。的方式整合远程分支的更新到本地分支。我以为需要拉取在gitee创建的仓库。
2025-03-07 22:51:46
503
原创 stm32 no connect target
stm32最小系统在下载程序是一直报错:no target connected,试了很多办法成功不了,最后将芯片擦除了才成功。
2025-01-20 17:47:41
446
原创 Linux qt下是使用搜狗輸入發
重新构建你的Qt程序,就能用fcitx输入中文了。然后设置权限775即可。1.下载一个编译好的包。,或者QT6选择下载。
2024-11-07 00:48:00
695
原创 卸載qt和ubuntu安装qtIDE
(1)登录 Qt 帐号,如果您还没有帐号及密码,请到点击Sign up自行注册一个设置好账号和密码后,点击Next。qt-opensource-linux-x64-5.12.12版本百度网盘链接:https://pan.baidu.com/s/1F2gUU3v0DpHzGoG-1Cgqxg?勾选同意使用开源版本 Qt,填写公司/个人的名字,点击Next。首先赋予可执行权限,然后加上 sudo 权限进入安装,这样会安装在/opt 目录下。(4)Qt 的欢迎安装界面,点击Next。1.2 百度网盘下载。
2024-11-06 22:34:26
290
原创 ubuntu 改名和改网络的步骤
1、进入Ubuntu,打开一个终端,输入 sudo su转为root用户。注意,必须先转为root用户!2、gedit /etc/passwd ,找到代表你的那一行,修改用户名为新的用户名。注意:只修改用户名!后面的全名、目录等不要动!4、gedit /etc/group,你应该发现你的用户名在很多个组中,全部修改!3、gedit /etc/shadow,找到代表你的那一行,修改用户名为新用户名。5、修改完,保存,重启。
2024-10-29 20:43:32
341
原创 删除qt creator
原文链接:https://blog.youkuaiyun.com/qq_35665222/article/details/104667803。C:用户/(你的用户)/AppData/Local/Temp/所有与Qt相关内容。C:用户/(你的用户)/AppData/Local/目录下所有与Qt相关内容。C:用户/(你的用户)/AppData/Roaming/所有与Qt相关内容。无奈网上搜了很多资料,都没有效果,就连重装Qt都不行。大部分人应该没有出现我这种情况。我感觉应该是没有卸载干净。就在卸载了Qt后,删除了。
2024-08-02 23:17:24
382
原创 tcpdump抓包与wireshark分析
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump基于底层libpcap库开发,运行需要root权限。
2024-08-01 21:53:54
1105
原创 代码随想录| 编辑距离
因为有这样的例子: s:bagg 和 t:bag ,s[3] 和 t[2]是相同的,但是字符串s也可以不用s[3]来匹配,即用s[0]s[1]s[2]组成的bag。
2024-07-06 21:11:28
767
原创 代码随想录 day37|day38|day39
4.状态转移 dp[i] = dp[i-1] + cost[i-1];这是在dp[i-1] + cost[i-1] 和dp[i-2] + cost[i-2] 相比较的情况下。3.动态转移方程:dp[i] = dp[i-1] + dp[i-2];3.状态转移方程:dp[i][j] = dp[i-1][j] + dp[i][j-1] 是因为机器人从上方或者左方来的。3.状态转移方程定义:dp[i] = dp[i-1] + dp[i-2];
2024-06-16 23:56:03
521
原创 代码随想录 day 35 day 36
等价于去找最多不重叠的区间的个数。所以只需要在上一题修改一下代码就好 :主要是将 重叠重定义下,重叠不包括连接点。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。题意是我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。题意是将打乱的身高排序, ki是这个人之前有ki个大于或等于 hi 的人。如果前面的元素和后面的元素没有交集, 那么就需要一支箭去射。
2024-06-13 00:44:17
454
1
原创 代码随想录 day31|day32
题意:给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;局部贪心:每次认为本次寻找的是最大的和。具体:如果prices[i-1] > prices[i] 就表示 此时是收割i-1到之前的利润的时候,本次的最大利润就是这个值。而是求能跳的最大的范围。数组中的每个元素代表你在该位置可以跳跃的最大长度。在每次跳的时候也是改变范围的时候(这也是绕的一点)每次在该范围内找到下一次的最大的范围。
2024-06-10 23:07:13
661
原创 代码随想录 day 30
回溯总结:相当于暴力for循环,其目的用递归控制for循环嵌套的数量。当剪枝时,就可以使得嵌套数量减少。把回溯问题抽象一颗树比较好懂。并且使得代码更简洁。对于组合问题,什么时候需要startIndex呢?在一个集合求组合时,需要startidx;如果是多个集合取组合,各个集合不互相影响,那么就不用startidx.
2024-06-06 13:03:35
461
原创 代码随想录 day27|day28|day29
used[i-1] =0 确保这是在处理同一树层的元素。因为used[i-1] = 1 的话表示处理的是树枝元素, 是从上一个树枝元素递归过来的元素。[全排列2](https://leetcode.cn/problems/permutations-ii/description/)[子集2] (https://leetcode.cn/problems/subsets-ii/description/)全排列去重也和组合去重一样都是把树层的元素 去重,通过剪枝去重。一般是树层元素去重。子集去重:主要是树层去重。
2024-06-06 11:59:16
616
原创 代码随想录 day 26
/ 切割的子串;为什么used[i-1] = false 是同一树层的呢,因为同一树层,used[i-1] = false 才能表示,当前取的candidate[i]是从candidate[i-1] 回溯而来的。同一层的元素相同的元素使用过的, 要把其给去重掉。所以我们要去重的是同一树层上的“使用过”,同一树枝上的都是一个组合里的元素,不用去重。题意:给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
2024-06-03 20:58:23
375
原创 代码随想录 day24|day25
回溯开始回溯法的搜索过程就是一个树型结构的遍历过程,在如下图中,可以看出for循环用来横向遍历,递归的过程是纵向遍历。只要有递归就会有回溯。虽然回溯法很难,很不好理解,但是回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质回溯法解决的问题回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一
2024-06-03 13:17:51
1128
原创 代碼隨想录 day22|day23
思路: 二叉树的中序遍历特性: 如果当前遍历的节点的值> 两个指定的节点的值。如果当前遍历节点的值< 两个节点的值 则祖先节点在节点右边。所以递归边界是节点的左右子树都是空,还有节点有左子树的但是右子树为空的情况。但是在删除左右孩子都不为空的情况下,就需要将节点的左孩子直接赋给,右子树的最左叶子节点。至于删除要分有左子节点没有右子节点的,有右子节点没有左子节点的。思路2: 不改变二叉树的结构直接在叶子节点接住生成的节点。想到二叉树的性质,根节点是中间节点。题意:找到二叉树的两个节点的祖先节点。
2024-06-03 12:49:00
578
原创 代码随想录 day22
修剪二叉搜索树题意:给定一个二叉树的根节点root。确定最小的边界low和最大边界high. 通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在 唯一的答案。思路:后序遍历。要回溯处理。把不满足区间的元素删掉。因为前序遍历考虑一个例子如果删除的是根节点。删除后的树的根就要被另一个节点接住。但是这个树的根应该是要直接返回的。所以应该后序遍历。
2024-05-30 20:05:31
449
原创 代码随想录 day21
不用额外空间的的思路: 由于搜素二叉树的性质,我们使用中序遍历可以做到,使用一个cnt来计数相同的元素。我们也是贪婪地寻找。就比如这道题,我已经想到用搜索二叉树的性质,但是在计数的时候我想的是双指针法,这就比直接计数复杂了, 并且难以操作,就放弃了。2.在回溯的过程中,必然要遍历整棵二叉树,即使已经找到结果了,依然要把其他节点遍历完,因为要使用递归函数的返回值(也就是代码中的left和right)做逻辑判断。使用两个指针(前指针和后指针),对指向的结点的值进行相减,如果值大于maxlen就更新这个值。
2024-05-28 19:45:24
555
原创 代码随想录 day20
是把二叉树找到数组的最大元素。题意:是把两颗树的重叠部分相加具体看题。要处理 左节点为空,右结点不空的例子,还要处理左节点不空,右结点空的例子。思路:不能硬来,要根据二叉树的中序遍历的性质来做。中序遍历如果是递增有序的,那么就是一个有效的二叉树。递归的时候要特别注意,此时递归要放在条件语句里面,因为只有达到这个条件,才能递归。题意是:给顶一个不含重复元素的数组。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。二叉树的根是数组中的最大元素。
2024-05-27 23:14:55
527
原创 如何debug代码2
理想情况下,你的代码库的每个部分或组件都应该有自己的测试。因此,你的大脑在某一时刻的工作方式或你的感觉将直接影响你的代码的外观和你以有效方式解决问题的能力。如果你没有自动化测试(如果你想创建高质量的软件,你真的应该这样做),至少要手动测试你的代码,重现用户可能与之发生的所有互动,并确保该bug被有效地杀死。仅仅通过阅读别人的代码并不容易理解,所以尽量解释你在做什么,你想实现什么,你面临的问题是什么。当你尝试不同的解决方案并一次次失败时,你对细节的关注很可能会淡化,你会开始有不同的想法,并同时尝试很多东西。
2024-05-25 00:20:57
334
原创 代码随想录 day10
栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。队列是先进先出的数据结构,同样不允许有遍历行为,不提供迭代器, SGI STL中队列一样是以deque为缺省情况下的底部结构。栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。STL的版本:Linux下的GCC版本是SGI STL , HP_STL是第一个C++的STL。栈默认是以deque为底层实现。
2024-05-18 00:52:08
609
原创 【无标题】
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2024-05-17 23:05:52
612
原创 mysql
1. mysql 8.0 安装没有配置密码 ;use mysql再 mysql 内输入:alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password By '123'或者: alter user 'root' identified with mysql_native_password by '123'2. mysql 配置远程链接:mysql -u root -p进入mysql ;use mysql
2024-05-08 23:29:13
165
原创 COW写时复制的引用符号重载的charproxy模式
写时复制的目的就是,对于n个内容相同的字符串来说,如果都进行深拷贝的话势必会浪费很多存储空间,所有对于不需要写操作的字符串来说,就只进行浅拷贝,让这些变量都指向这里,当需要更改的时候,再进行深拷贝,对深拷贝的字符串进行写操作,这就是写时复制,可以节省很多内存空间,所以实现自定义的String的时候一定要区分读写操作,如果直接对自定义String类的下标运算符重载来进行写操作的话,那么通过下标运算符读某个字符串的时候也会写操作,因为都要经过同样的操作,这样就无法区分读写操作了,所以行不通;
2024-03-17 21:11:18
1213
原创 jupyter 插件扩展
链接:https://pan.baidu.com/s/14jPV5MbxJk42zmjfm3KqMw。链接:https://pan.baidu.com/s/1MW8SI9967nI-O6DHoNWvig。在启动jupyter的终端,查看是否报404 缺少文件的问题。启动jupyter ,但是插件没有正常显示。--来自百度网盘超级会员V6的分享。--来自百度网盘超级会员V6的分享。之后就有Nbextensions。下载完插件,启动jupyter。下载jupyter扩展插件,2.搜索marked。
2023-03-25 19:43:27
280
原创 ubuntu 设置,命令
source /usr/local/bin/virtualenvwrapper.sh 这个文件有大量可以方便使用的命令。python的虚拟环境是virtualenv,通过sudo pip install virtualenv 来安装;虚拟环境原理:将原系统的命令bin,目录lib拷贝一份给放到现有的虚拟环境中;时,如果你想要卸载的应用没有被列出来,那么它可能被安装成一个 snap 包。将ssh的id_dsa.pub 给mpi@node1。2.进入虚拟环境后的虚拟环境的环境变量置为第一;
2022-11-19 13:58:24
1745
原创 怎么阅读论文的方法
整个过程需要不断的增加论文,并分类论文。不然手头的论文只会越来越杂()。做好过滤和分类,可以大大提高入门速度。)2.参考文献方式。整个过程需要不断的增加论文,并分类论文。不然手头的论文只会越来越杂()。做好过滤和分类,可以大大提高入门速度。相关工作(related work)一般会提供很好的文献分类,参考这个章节可以帮助我们划分手头的论文。3.4. 如何阅读论文。
2022-10-03 21:45:29
1552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅