笔记总结
DmrForever
知乎:https://www.zhihu.com/people/steveforever
展开
-
字符串乘法问题--Rust
Rust实现字符串乘法impl Solution { pub fn multiply(num1: String, num2: String) -> String { let m = num1.len(); let n = num2.len(); let mut res = Vec::new(); res.resize(m + n, 0); for i in (0..m).rev() {原创 2022-05-22 21:53:05 · 220 阅读 · 0 评论 -
c++实现LRU算法
c++实现LRU算法#include <iostream>#include <list>#include <utility>#include <vector>#include <unordered_map>#include <memory>using namespace std;class LRUCache {public: unordered_map<int, list<pair<in原创 2022-05-22 21:50:14 · 580 阅读 · 0 评论 -
c++前缀树实现
c++前缀树实现#include <iostream>#include <vector>#include <unordered_map>#include <memory>template<typename V>class TrieMap {public: class Option { public: V val{}; bool isNone = true; };priv原创 2022-05-22 21:49:16 · 366 阅读 · 0 评论 -
单调队列c++解决滑动窗口最大值问题
单调队列c++解决滑动窗口最大值问题单调队列中的元素以单调递增或递减方式排列,可以解决leetcode239. 滑动窗口最大值。这里单调队列使用了std::list即双端链表实现,队列中元素单调递减排列。class MonotonicQueue{ public: void push(int n){ // 将队列中小于n的元素全部删除 while(!mQueue.empty() && mQueue.back() &l原创 2022-05-22 21:48:12 · 277 阅读 · 0 评论 -
rapidjson序列化Map
序列化Map, 与nlohmann json输出相同#include <map>#include "rapidjson/document.h"#include "rapidjson/writer.h"#include "rapidjson/stringbuffer.h"using namespace rapidjson;using rapidjson::StringBuffer;using rapidjson::Writer;using namespace rapidjson;原创 2022-05-22 21:46:17 · 585 阅读 · 0 评论 -
c++ vector size()遍历错误记录
在一次编程中,通过for循环递减遍历vector,忽略了vector.size()函数的返回值类型,导致了如下的越界错误。std::vector<int> mi{1,2,2};auto s = mi.size();// vector 的size()函数返回的是unsigne Long型for(auto i = s -1; i >= 0;i--){ std::cout << i << std::endl;}21018446744073709原创 2022-05-22 21:45:04 · 586 阅读 · 0 评论 -
c++模板元编程学习记录
现代模板元编程 - 第一部分 - Cppcon 2014 - Walter E. Brown#include<stdio.h>// example 1template<unsigned M, unsigned N>struct gcd{ static int const value = gcd<N, M % N>::value;};template<unsigned M>struct gcd<M, 0> {原创 2022-05-22 21:31:33 · 146 阅读 · 0 评论 -
hexo博客搭建记录
hexo博客搭建记录最开始hexo博客是因为看到了CosmosNing的个人博客,感觉效果很Nice。开始参考他的使用 Hexo搭建并部署个人博客的这篇文章。但是在搭建的过程中,遇到了一些问题,这里记录下来,给需要的同学参考。1、安装hexo环境遇到的网络问题在使用ubuntu的apt命令安装nodejs和npm后,开始使用如下命令安装hexo环境。npm install -g hexo-cli但是,遇到了网络问题,一直卡顿,和各种网络不能连接的报错!参考了网上,代理、换淘宝源、使用cnpm等原创 2022-05-22 21:30:07 · 148 阅读 · 0 评论 -
实现文件管理器的前进/回退按钮逻辑
如何实现文件管理器的前进/回退按钮逻辑本文记录在使用c# winform开发时,实现类似windows文件资源管理器的前进/回退按钮功能。windows文件资源管理器打开时,初始状态为back_button(回退按钮) 和 forward_button(前进按钮) 都为禁用状态;双击打开文件夹后,forward_button变为禁用状态(如果原来为禁用,则仍然为禁用状态),back_button变为可用状态;可以一直双击打开当前文件夹的子文件夹,只要双击了文件夹,forward_button就变原创 2022-05-22 21:27:04 · 808 阅读 · 0 评论 -
python使用ctypes调用c程序
ctypes地址截断问题在使用ctypes开发python调用c程序的接口函数时,需要在python程序和c程序之间传递地址,不管是堆上的地址还是栈上的地址,如果没有设置函数的restype和argtypes时,很可能会引起Segment Fault错误。这是因为在默认情况下,地址可能会被截断,导致访问地址时,访问到错误的地址,出现Segment Fault。解决方法在每个需要传递地址的地方,设置restype和argstype:如:myfunc.restype = ctypes.c_uint6原创 2022-05-21 12:55:47 · 858 阅读 · 0 评论 -
c语言bitField
#include <cstdio>void printf_bin2(void *dataPtr, int sizeOfData) { int i, j; unsigned char *p = (unsigned char *) dataPtr + (sizeOfData - 1);//p先指向num后面第3个字节的地址,即num的最高位字节地址 for (i = 0; i < sizeOfData; i++) //依次处理4个字节(32位) {原创 2022-04-12 10:10:08 · 845 阅读 · 0 评论 -
数据从一台Mysql传输到另一台Mysql
安装Mysql并添加用户及修改密码可以参考下面一篇文章,按照步骤登录root用户,Ubuntu20默认安装的是Mysql 8版本。Ubunto20.04安装MySQL并修改root用户密码(Linux安装mysql root用户无法登陆)然后登录Mysql后,可以为Mysql添加一个用户,如果要通过远程客户端等方式访问数据库,记得将此用户设置为远程可以访问。可以参考网上很多资料。数据从一台Mysql传输到另一台Mysql可以使用命令行可以使用Navicat将一台电脑的Mysql数据库中的s原创 2021-11-28 21:31:54 · 1596 阅读 · 2 评论 -
Mysql连接失败解决方案
Mysql连接失败在项目中,使用Mysql Client连接Mysql时出现了错误,打印错误信息System.Security.Authentication.AuthenticationException: 调用 SSPI 失败,请参见内部异常。 ---> System.ComponentModel.Win32Exception: 接收到的消息异常,或格式不正确。 --- 内部异常堆栈跟踪的结尾 --- 在 System.Net.Security.SslState可以观察到大致问题原创 2021-11-28 21:13:17 · 3518 阅读 · 0 评论 -
C++实现LRU算法
利用双向链表和哈希表实现LRU算法双向链表使用双向链表可以快速删除和添加元素,来移动最近使用的节点,将最近使用的节点保存到双向链表的尾端。快速的put值和value。哈希表使用哈希表可以快速的查找节点。快速get关键值为key的value。LRU算法实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void原创 2021-11-14 20:50:53 · 1650 阅读 · 0 评论 -
Vim学习之旅
学习站点Vim修行之路阅读笔记vim配置使用说明vimplusvim-plugin-dev-guideVimL 语言编程指北路VimL_Script_languagevimawesome2020年vim的C/C++配置基于SpaceVim的扩展–以rust为例write-a-vim-scriptvim-debug在 neovim 中使用 Luaselect-multiple-words-one-at-a-time-then-replace-them-all无插件Vim编程原创 2021-11-06 20:12:56 · 258 阅读 · 0 评论 -
修改QtCreater界面大小
修改QtCreater界面大小my_qtcreator.sh#!/bin/bash#my_qtcreator.sh export QT_SCALE_FACTOR=1.2/home/xxx/Qt5.12.5/Tools/QtCreator/bin/qtcreator启动./my_qtcreator.sh原创 2021-07-16 11:09:01 · 1191 阅读 · 0 评论 -
C++读取文件
C++读文件#include <iostream>#include <fstream>int main() { std::ifstream inputFile("test.json"); if (!inputFile.is_open()) perror("open file false"); std::string str((std::istreambuf_iterator<char>(inputFile)), std::istreambu原创 2021-07-06 11:16:20 · 326 阅读 · 0 评论 -
c++通过宏控制Log日志的显示与否
c++通过宏控制Log日志的显示与否当使用log打印日志消息时,有的日志不想输出,所以希望通过参数动态配置显示与否。采用宏定义和static变量的方式控制日志的显示与否。代码LogController.h#include <logger.h>namespace cs { namespace logger { class LogController { private: static bool isShowLog;原创 2021-06-24 21:22:30 · 635 阅读 · 2 评论 -
ubuntu禁用smap
ubuntu禁用smap在内核命令行中添加nosmap和nosmep禁用修改sudo vim /etc/default/grub2. 更新修改sudo update-grub重启reboot查看cat /proc/cpuinfo原创 2021-03-20 21:16:02 · 388 阅读 · 0 评论 -
C++字节对齐及sizeof struct
C++字节对齐及sizeof struct参考sizeof的结果怎么来的,请牢记以下3条原则:(在没有#pragma pack宏的情况下)1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储。2:结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储.(struc原创 2020-10-26 19:36:57 · 230 阅读 · 0 评论 -
Ubuntu不能打开设置(Setting)的解决办法
Ubuntu不能打开设置(Setting)的解决办法参考命令:完全恢复Ubuntu的桌面设置,这样就可以让Dock重新恢复到左侧位置,执行如下命令:dconf reset -f /这是一种比较粗暴的方式,将会导致之前的所有桌面设置都被重置,包括桌面背景。...原创 2020-10-25 10:08:20 · 15380 阅读 · 7 评论 -
vimplus修改终端字体为Droid Sans Mono Nerd Font
## vimplus修改终端字体为Droid Sans Mono Nerd Fontvimplus是可以自动配置Vim,看着效果还不错。但是安装以后,出现了乱码,按照说明需要修改终端字体为Droid Sans Mono Nerd Font。找了很久的方法,特分享一下![其他方案参考](https://blog.csdn.net/wang73ying/article/details/82491993?utm_source=blogxgwz8),发现不适用我的机子。解决方案:1.进入[ne.原创 2020-10-22 21:59:20 · 3701 阅读 · 1 评论 -
配置属于自己的Vim-编辑器之神
##配置属于自己的Vim-编辑器之神在学习Vim过程中,看到一句话特别激励我,** “Vim以思考的速度编辑文本” **。Vim人称编辑器之神,这代表了它的高效、地位。作者在学习过程中,记录了自己第一次的Vim配置,采用Vundle(网上安装的方式很多)进行插件管理。###使用到的插件Plugin 'gmarik/Vundle.vim' Plugin 'tmhedberg/SimpylFold' Plugin 'Valloric/YouCompleteMe' Plugin 'Rai..原创 2020-10-10 22:53:04 · 314 阅读 · 0 评论 -
c++从txt文件读取一个矩阵数据
#include <iostream>#include <vector>#include <fstream>#include <zconf.h>#include <string>#include <sstream>std::vector<std::vector<double >> readMatrixFile(const char *fileName) { // get current .原创 2020-09-26 11:42:23 · 7646 阅读 · 1 评论 -
c++11中的std::initialzer_list
c++11中的stl容器拥有和未显示指定长度的数组一样的初始化能力。其初始化列表长度可以是任意的。std::initialzer_list这一轻量级类模版提供了上述功能的支持。例如可以使用std::initialzer_list定义自己的容器:class MyVector{ std::vector<int> content_;public: MyVector(std::initializer_list<int> list){ for(a原创 2020-06-25 19:33:31 · 907 阅读 · 0 评论 -
c语言unsigned int和int
```c#include<stdio.h>#include<stdlib.h>#include<string.h>voidmain(){inta=-1;unsignedintb=-1;printf("%d\n",a);printf("%u\n",b);//<...原创 2020-04-15 20:35:01 · 1324 阅读 · 0 评论 -
vim配置
记录哈~/.vimrc配置文件内容:插件工具选用vim-plugset numbersyntax oncolorscheme hybridlet mapleader=','inoremap <leader>w <Esc>:w<cr>inoremap jj <Esc>inoremap <C-o> <Esc&...原创 2020-04-04 22:40:14 · 288 阅读 · 0 评论 -
Go语言包安装问题解决方案
针对国内用户在安装github上go语言包下载速度慢或者无法下载问题解决方案。以安装beego包为例:官方安装方法:go get github.com/astaxie/beego首先在$ GOPATH路径下的src文件夹下创建github.com文件夹,再创建astaxie文件夹,进入路径$GOPATH/src/github.com/astaxie下在gitee中,将github中的...原创 2020-03-23 22:44:37 · 388 阅读 · 0 评论 -
Git提交代码步骤
简单记录哈,git提交代码步骤:git initgit remote add git@gitee.com:username\repositoryname.git# 如果是github:git remote add git@github.com:username\repositoryname.gitgit pull --rebase gitee mastergit add .git c...原创 2020-03-15 14:45:41 · 196 阅读 · 0 评论 -
Anaconda安装tensorflow2.1
一、安装Anaconda二、创建虚拟环境conda create -n TF2 python=3.7三、安装tensorflow2.1进入虚拟环境conda activate TF2安装conda install cudatoolkit=10.1conda install cudnn=7.6pip install tensorflow安装完成!...原创 2020-03-14 17:03:40 · 1310 阅读 · 0 评论 -
关于会声会影导入视频出现卡顿花屏的解决办法
作为一个业余视频剪辑者,刚刚入门的我发现:当我们把原始素材直接导入会声会影的时候,会出现卡顿、花屏等一系列问题,确实是让人头疼,找了很多帖子方法才解决问题。解决方法:1.安装格式工厂软件2. 打开软件,点击进入MP43.选择输出配置4.更改视频编码为 MPEG4(DivX),其他保持默认,(如果你要压缩视频可以减小比特率,比如将比特率减小为768)5.然后确定,添加视频文件进行...原创 2020-03-04 16:31:25 · 7285 阅读 · 0 评论 -
关于win10访问u盘被拒绝,显示没有权限访问问题的解决方案
电脑基本信息win10家庭版惠普笔记本解决方式网上主要的解决方法:在“属性”,“安全”下修改权限通过cmd输入“gpedit.msc”进入组策略管理器微软官方解答可是对我的电脑都没有用!!!最终解决由于我的是惠普笔记本电脑,所以有一个HP Client Security的软件:我们可以看到:可移动存储设备的访问是“允许-需要JITA”;将其改为“允许-完全访问”...原创 2019-04-15 21:40:06 · 24211 阅读 · 10 评论 -
wordcloud词云
两种方法:1、使用pyecharts ,它是一个用于生成 Echarts 图表的类库教程:访问pyechart教程2、使用python的wordcloud类库安装:python -m pip install wordcloud代码:"""Masked wordcloud================Using a mask you can generate ...原创 2018-08-17 21:29:40 · 1060 阅读 · 0 评论 -
python中*args和与**kwargs
(1)、在函数定义时,当我们不确定函数的参数个数时,*args允许你传入任意数量的参数,**kwargs可以传入任意数量的关键字参数。def func1(*args): print(args)def func2(**kwargs): print(kwargs)def func3(a,b,*args,**kwargs): print(a,b,args,kwargs)...原创 2018-08-12 17:13:17 · 217 阅读 · 0 评论 -
Scrapy爬虫文件批量运行
Scrapy批量运行爬虫文件的两种方法:1、使用CrawProcess实现https://doc.scrapy.org/en/latest/topics/practices.html2、修改craw源码+自定义命令的方式实现(1)我们打开scrapy.commands.crawl.py 文件可以看到: def run(self, args, opts): ...原创 2018-08-12 16:07:20 · 1802 阅读 · 0 评论 -
Scrapy爬虫笔记——2
1、对数据进行筛选和提取的两种方法:(1)正则表达式(2)XPath表达式:它是一种XML路径语言,用“/”符号选择某个标签,可以进行多层次标签的查找;获取该标签中的文本信息,通过text() 实现;使用“//”可以提取某个标签的所有信息,如:通过“//p”提取网页中的所有<p>标签;获取所有属性X的值为Y的<Z>标签的内容,通过“//Z[@X="Y...原创 2018-08-12 11:34:15 · 327 阅读 · 0 评论 -
Scrapy爬虫笔记——1
1、安装:使用pip install scrapy;假如使用了Fiddler作为代理服务器进行调试分析,为了避免该软件的影响:打开Fiddler,进入“Tools——>Fiddler Options——>Connections”,将“Act as system proxy on startup”和“Monitor all connections”的勾选取消。2、(1)、使用...原创 2018-08-12 09:47:53 · 767 阅读 · 0 评论 -
机器学习笔记——1
1、机器学习的定义:如果一个程序可以在任务T上,随经验E的增加,效果P随之增加,则这个程序可以从经验中学习。过程:单个神经元:2、基于tensorflow的NN(神经网络):用张量表示数据,用计算图搭建神经网络,用会话执行,优化线上的权重(参数),得到模型。2.1、张量:多维数组(列表),阶:表示张量的维数。如:标量(0阶)、向量(1阶),矩阵(2阶)2.2、计算图...原创 2018-08-10 21:50:13 · 272 阅读 · 0 评论 -
Python中取整方法小结
1、向下取整向下取整直接用内建的 int() 函数即可:123>>> a = 3.75>>> int(a)32、四舍五入对数字进行四舍五入用 round() 函数:123>>> round(3.25); round(4.85)3.05.03、向上取整向上取整需要用到 math 模块中的 ceil() 方法:1234567>>>...转载 2018-04-30 20:29:08 · 342 阅读 · 0 评论 -
一个简单的软件需求规划书模版
需求规格说明书1引言1.1编写目的1.2背景1.3字符定义1.4参考资料2任务概述2.1目标2.2用户特点2.3假定和约束3总体设计3.1需求规定3.2基本设计概念和处理流程3.3系统数据结构设计4运行环境规定4.1运行环境4.2接口设计...原创 2018-04-02 15:32:13 · 4568 阅读 · 0 评论