- 博客(58)
- 资源 (2)
- 收藏
- 关注
原创 安装完ubuntu要做的几件事
安装完ubuntu要做的几件事右键打开terminal(只适合ubuntu14.04)点击任务栏可以还原程序(14.04 16.04)常用工具显卡驱动18.04及以上右键打开terminal(只适合ubuntu14.04)sudo apt-get install nautilus-open-terminal点击任务栏可以还原程序(14.04 16.04)gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/un
2021-08-05 09:42:46
214
1
原创 二进制矩阵中的最短路径(力扣第1091题)
给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:路径途经的所有单元格都的值都是 0 。路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。畅通路径的长度 是该路径途经的单元格总数。示例 1:输入:grid = [[0
2021-05-11 13:00:08
416
原创 判断二叉搜索树
bool isBSTUtil(TreeNode *root, int min, int max){ if(root == NULL) return true; if(root->data < min || root->data > max) return false; return isBSTUtil(root->left, min, root->data - 1) && isBS
2021-05-06 09:48:14
158
原创 快速排序及其优化
void Quick_Sort(int *arr, int begin, int end){ if(begin > end) return; int tmp = arr[begin]; int i = begin; int j = end; while(i != j){ while(arr[j] >= tmp && j > i) j--; while(arr[i]
2021-05-06 09:45:38
498
原创 动态归化题总结
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。class Solution {public: int numWays(int n) { if(n==0) return 1; if(n==1) return 1; if(n==2) return 2; int* dp = new int [n+1
2021-03-14 23:20:43
453
1
原创 二叉树的遍历
中序递归遍历写法的注意点1.一定要判断root==nullptr,要不然leetcode上会报Line x: member access within null pointer of type ‘struct TreeNode’原因:在测试过程中,第x行访问的指针为NULL,通常情况下表明程序未对NULL情况作出判断。例如:2.递归本身便是循环,所以不能加while(root)3.leetcode上的原题是要将遍历结果写入到一个vector中,所以要写一个单独的函数来接收res4.中序遍历就要写
2021-03-12 18:51:20
114
1
原创 最长不重复子串
个写写作要点1.主循环中的第一个if里,要加max的时时更新,要不然如果无法进入else,到最后跑完了,max还是02.std::vector iterator 的写法需要不借助IDE和百度写出来3.algorithm 单词的写法,以及std::find 的用法。vector中用的是std::find而到map中或是unordered_map中直接引用find4.std::vector中的erase用法,注意最后一个参数,在删除的时候是会被保留的,所以一定要+1请从字符串中找出一个最长的不包含重复
2021-03-09 15:38:56
80
原创 反转链表和部分反转
ListNode* reverseList(ListNode* head) { if(head==nullptr) { return head; } if(head->next==nullptr){ return head; } ListNode* p = head; ListNode* q = p->next; ListNode* r = n...
2021-03-07 23:46:39
318
原创 拼接最大数参考答案
这里写自定义目录标题拼接最大数参考答案拼接最大数给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。说明: 请尽可能地优化你算法的时间和空间复杂度。示例 1:输入:nums1 = [3, 4, 6, 5]nums2 = [9, 1, 2, 5, 8
2021-01-27 23:36:27
307
原创 迭代方差方法
public class Accumulator { private: double m; double s; int N; public: void addDateValue(double x) { N++; s=s+1.0*(N-1)/N*(x-m)*(x-m); m=m+(x-m)/N; } double mean() .
2021-01-07 15:57:54
647
原创 upd整理
https://www.zhetenga.com/view/UDP%E6%95%B0%E6%8D%AE%E5%8C%85%E5%85%81%E8%AE%B8%E7%9A%84%E6%9C%80%E5%A4%A7%E6%95%B0%E6%8D%AE%E9%95%BF%E5%BA%A6-dfcc42137.htmlhttps://www.cloudflare.com/zh-cn/learning/network-layer/what-is-mtu/
2021-01-06 22:35:26
123
1
转载 e的科学计数法
E是指数的意思,比如7.823E5=782300 这里E5表示10的5次方E代表的英文是exponent,有时也可用index number来表示。科学计数法 1.3565656565E04中E代表什么意思? 这个数是多少E是乘以10的几次方的意思,E04就是乘以10的4次方.就是13565.6565657.41025E3负数的话就是-7.41025E3如果是负次方的话.就E-1.401298E-45表示1.401298的10的负45次方正次方就E+或者E111...
2021-01-05 19:49:19
7962
原创 VSCode调试docker中的程序(C++) 和离线安装VSCode插件的方法
最新的remote-containers有bug经常会stuck(卡住) ,这里提供老版的链接remote-containers old version,下载完成后需要用离线的方法安装vscode插件。离线安装VSCode插件1.打开VSCode的软件,选择左侧Extension2.点击“…”,选择“从VSIX安装”,选择离线下载的VSCode插件进行安装。...
2021-01-05 19:07:28
3198
原创 上下位机同步控制周期的一种思路
问题下位(arm 单片机)在控制电机时要求有比较精准的周期而上位机(linux kernel)线程受操作系统负载和调度方式的影响无法精准控制,两者之间要如何同步?解决思路利用下位可以反馈精确的控制时间这一点来缓解上位机时间不准的问题。具体方法1.在下位机上设置指令缓存,一次从上位机接收一定数量的指令,假设为N,减少上位机时间不准时带来影响;2.制定通信协议,下位机按固定周期(30ms)往上位机发送状态数据,数据包里包含下位机的时间信息或是这是第几个包,上位机收到这两种信息之后(任意一种),都能确
2021-01-03 09:27:18
955
1
原创 Vim 日常操作积累
高亮指令含义(作用)gd选中并高亮:noh消除高亮括号间内容的操作先选中括号之间的内容(包括各种括号和单引号,双引号)指令含义(作用)vi+符号 ( 如:(,’,",{,[,)选中括号之间的内容(包括各种括号和单引号,双引号)yi+符号 ( 如:(,’,",{,[,)复制括号之间的内容(包括各种括号和单引号,双引号)di+符号 ( 如:(,’,",{,[,)删除括号之间的内容(包括各种括号和单引号,双引号)翻页翻整页
2020-09-22 21:43:29
118
原创 docker相关操作
列出所有的容器 IDdocker ps -aq停止所有的容器docker stop $(docker ps -aq)删除所有的容器docker rm $(docker ps -aq)删除所有的镜像docker rmi $(docker images -q)复制文件docker cp mycontainer:/opt/file.txt /opt/local/docker cp /opt/local/file.txt mycontainer:/opt/docker image prune
2020-08-31 15:35:57
100
原创 Git使用方法总结
向远程仓库推送一个新的分支思路是在本地仓库新建一个分支(此分支的名称要跟远程一致),然后再将这个分支推到远程仓库git checkout -b my-test //在当前分支下创建my-test的本地分支分支git push origin my-test //将my-test分支推送到远程git branch --set-upstream-to=origin/my-test //将本地...
2020-04-23 19:18:29
292
原创 清理docker中的缓存以及宿主与docker互传数据
清理docker中的缓存操作docker,/目录很容易就会被写满需要进行一些docker清理工作:docker system prune此操作删除已停止的容器,未被任何容器使用的卷,未被任何容器所关联的网络和所有悬空的镜像。docker volume prune此操作删除无用的卷。宿主与docker互传数据从docker上拷:docker cp dev-container:/...
2020-04-23 18:15:33
664
原创 unbuntu 下GTX1660Ti安装显卡驱动
GTX1660Ti安装显卡驱动sudo apt remove --purge nvidia* # 卸载已有的nvidia显卡驱动(如果已安装的话)sudo add-apt-repository ppa:graphics-drivers/ppa # 添加ppa源sudo apt-get update # 更新源列表...
2020-04-23 18:09:36
1646
原创 ubuntu下Y7000无线网卡上网问题
搜索不到附近到wifi热点,原因是ubuntu默认关闭联想Y7000的wifi硬件,即硬阻塞。可以查看无线和蓝牙状态:rfkill list all解决的方法如下:打开文件:sudo gedit /etc/modprobe.d/blacklist.conf在最后一行加入:blacklist ideapad_laptop保存然后重启...
2020-04-23 18:00:29
523
原创 安装 ubuntu 系统各分区参考大小
推荐的文件分区大小:/ : >60G (特别是运行docker的情况下,为保证volume和imgae有足够的空间)swap : 30G (实际上比内存大1.5倍已经足够 保证在编译过程中资源不会耗尽)/boot :>300M (最好是大一点,因为更新系统时需要用到这一块空间)/home :剩下的所有...
2020-04-23 17:57:36
6374
原创 ubuntu 下Vscode 编译运行c++ 程序环境搭建
2.关于编译C++过程 安装c/c++编译插件 编写C++代码,helloword.cpp #include<iostream> #include<stdio.h> using namespace std; int main() { cout<<"hello VS Code"<...
2020-02-18 22:27:12
1334
原创 ubuntu 禁止开机时的系统错误提示
# 禁止开机时的系统错误提示$ sudo vim /etc/default/apportenabled改为0
2018-09-03 16:10:07
378
原创 双系统造成的windows时间错误
先在ubuntu下更新一下时间,确保时间无误:sudo apt install ntpdatesudo ntpdate time.windows.com然后将时间更新到硬件上sudo hwclock --localtime --systohc
2018-09-03 15:43:23
2095
1
原创 连续子数组的最小和
连续子数组的最大和连续子数组的最大和的问题相信大家都不会陌生了,代码如下:int MaxSubSum(int arr[],int len){ int i; int MaxSum = 0; int ThisSum= 0; for(i=0;i<len;i++) { ThisSum+= arr[i]; if(Thi...
2018-07-23 18:05:00
3671
6
原创 QtCreator下一款好漂亮的Text Editor Scheme
<?xml version="1.0" encoding="UTF-8"?><style-scheme version="1.0" name="Enjoy"> <style name="Text" foreground="#ffffff" background="#282a36"/>
2018-05-08 17:12:17
947
原创 Ubuntu下 SourceCode 字体安装
sudo mkdir -p /usr/share/fonts/sourcecodesudo cp * /usr/share/fonts/sourcecode/sudo chmod 644 /usr/share/fonts/sourcecode/*cd /usr/share/fonts/sourcecodesudo mkfontscale && sudo mkfontdir &...
2018-05-08 17:05:50
806
原创 Ubuntu 恢复默认中文字体
在系统切换成中文之后,ubuntu会自动更新和安装一些字体。安装完成后,显示的字体比较丑,这时给出恢复默认中文字体的办法:卸载掉当前的难看字体:sudo apt-get purge fonts-arphic-ukaisudo apt-get purge fonts-arphic-uming安装回默认字体:sudoapt-get install fonts-wqy-microhei...
2018-04-11 14:19:15
3811
翻译 Socket 网络编程 同步异步、阻塞非阻塞
同步异步、阻塞非阻塞 个人认为同步和异步是更抽象的概念,是相对的任务而言的。而阻塞和非阻塞就就字面的意思是对当前的进程或线程而言的。 概念之间的区别同步与异步 同步与异步在不同的场景下有不同的概念,在IO模型中的同步异步,主要区别在当任务A调用任务B的过程中,进程A是否继续进行。 如果A等待B的结果,则为同步; 如果A不等待B的结果,则为异...
2018-04-10 18:41:21
1954
原创 TCP 用select 监听带外数据(MSG_OOB)
select 监听带外数据时,OOB数据会出现在exceptionSet中,但是如果设置了SO_OOBINLINE,OOB数据会出现在readSet中。 OOB消息不会因为流量控制而影响它的传输,但是带外数据会。如果在select中用exceptionSet去监听OOB_data,只有等到带外数据到了,才会触发select exceptionSet返回。这样实际上丢失带了OO
2017-09-06 13:57:16
921
原创 Socket 中Select(I/O复用)使用中应注意的地方
最近在写进程间通信的模块,其中用到Select。它的好处在于可以在一个线程之内监听若干个socket或文件描述符的可读写或异常状态,在监听数量不多的情况下有不错的效率。函数接口如下: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *fd_set *exceptfds, struct timeval
2017-09-04 15:22:22
324
原创 使用 QtCreator 编译调试Ros 教程
1,编写RosNode,编译通过后,用QtCreator重新创建工程,在.pro中添加默认包含的文件和链接的so;2,用在QtCreator编译RosNode,编译成功后,在~/.bashrc中添加: export ROS_MASTER_URI=http://localhost:11311保存后。有两种方式可以使用QT调试程序:A. 在终端中打开QT cd /opt/Qt
2017-07-12 11:10:39
3527
2
转载 Qt5.5在ubuntu下解决 GL/gl.h: No such file or directory 与 cannot find -lGL
1、缺少头文件error: GL/gl.h: No such file or directory解决方式:sudo apt-get install mesa-common-dev2、编译出现如下错误提示:/usr/bin/ld: cannot find -lGL解决方式:sudo apt-get install libgl1-mesa-dev libglu1-mesa-de
2017-06-22 17:47:47
3072
原创 Ubuntu下FTP配置过程
1)先安装vsftpdsudo apt-get install vsftpd2)修改配置文件sudo vim /etc/vsfpd.conf修改以下内容:listen=YESanonymous_enable=NO (关系到匿名用户是否能登陆)write_enable=YES(关系到能否上传文件,这一行默认是注释掉的,去掉前面的#号)pam_service_name=
2017-06-22 17:46:13
481
原创 链接选项-I,-l,-L,-Wl:rpath
首先这几个命令一般用在gcc/g++或makefile中,但是一般的IDE里也会涉及。只是在IDE里的配置方式会不同,有的是配置文件如QtCreator,有的是图形化界面,如CodeBlocks。无论是什么样的方式其本质都是一样的,尤其是配一个工程的时候,这些都是必不可少的。-I,添加包含路径-I 在编译时用,告诉编译器去哪个路径下找文件如:-I /home/hello/inc
2017-06-22 17:44:52
10222
原创 vim 使用技巧
全选:ggVG gg让光标移到首行 V是进入Visual(可视)模式G光标移到最后一行操作括号之间的内容选中括号之间的内容(包括各种括号和单引号,双引号)vi+符号 ( 如:(,',",{,[,)复制括号之间的内容(包括各种括号和单引号,双引号)yi+符号 ( 如:(,',",{,[,)删除括号之间的内容(包括各种括号和单引号,双引号)di
2017-06-22 17:42:21
1239
原创 Qt进度条用法总结
QProgressDialong是Qt提供的用于显示各类耗时较长的操作进度,而不至于让程序看上去假死了一样,它继承自QDialog。下面给出例子:QProgressDialog *progressDlg=new QProgressDialog(this);//其实这一步就已经开始显示进度条了progressDlg->setWindowModality(Qt::WindowModal);
2017-06-22 17:39:58
17402
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人