自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huatian5的博客

心有多大,世界就有多大

  • 博客(558)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 vim 常用技巧

工具NERDTree 目录结构YouCompleteMe 补全工具clang format 格式化ctags 函数跳转命令set paste 保持格式:12,34 co 55 多行复制粘贴(copy 12,34 to 55+1):12,34 m 55 多行剪切粘贴(shear 12,34 to 55+1)12,34 de 多行删除:1,66 s/a/b/...

2018-12-06 20:01:16 181

原创 Git常用命令

clone:下载仓库git clone @链接checkout:切换版本git checkout 名字下载的工程带有submodule(来源)当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:git submodule update --init --recur...

2018-07-24 13:56:29 246

原创 Linux常用命令

wget:下载wget url/a.txtfile/folderUbuntu 下命令行创建(删除)文件(夹):创建文件: touch a.txt创建文件夹: mkdir NewFolder删除文件: rm a.txt删除文件夹: rmdir NewFolder删除带有文件的文件夹: rm -r NewFolde强行删除:rm -f -r 文件名mv更改文件名称:a...

2018-07-17 17:58:47 278

原创 剑指offer 编程题

1.二维数组的查找根据大小行列查找class Solution {public: bool Find(int target, vector<vector<int> > array) { int

2018-03-30 17:03:15 556

原创 使用markdown写LaTeX公式

使用Latex写公式求和(行内):$f(x) = \sum_{i=0}^{n}g(i)$f(x)=∑ni=0g(i)f(x)=∑i=0ng(i)f(x) = \sum_{i=0}^{n}g(i)积分(行间):$$\int_{a}^{b}f(x)dx$$∫baf(x)dx∫abf(x)dx\int_{a}^{b}f(x)dx求积$\prod...

2017-04-12 11:12:57 465

原创 Golang 面试题

panic 触发会停止函数运行,然后按照栈的顺序执行 defer,最后退出函数,终止整个程序。stu 仅仅是一个用来拷贝的 struct, 取地址不变,可改为索引取值。无缓冲的 channel 会发送阻塞,知道接收出数据。随机情况,多个 case 满足程序会伪随机执行一个。golang 面试题 - 诺唯的文章 - 知乎。先执行函数参数,defer 按照栈序执行。出错,指针和值的成员方法调用不一致。interface 即有类型又有值。不传参的话用的永远都是一个 i。make 已经初始化结果。

2023-06-29 16:35:20 486

原创 常用图算法(C语言)

题目:https://leetcode.cn/problems/network-delay-time/description/邻接表(链式前向星)

2022-10-11 22:02:51 295

原创 golang interface 使用

interface 是方法签名的集合,interface 类型的值可以存储任何类型变量的值的类型。学到的一个问题,判断 interface 类型的变量不能只判断 value,需要判断 type 和 valuepackage mainimport "fmt"type sample interface { do()}type person struct{}func (*person) do() {}func getNil() *person { return nil}func c

2021-11-30 09:53:01 309

原创 leetcode 378. 有序矩阵中第K小的元素

题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。思路:最小值 matix[0][0],最大值 matrix[n-1][n-1],可以利用二分去寻找“小于等于 val 的数量大于等于 k” 的 mid val,而计算这个数量可以参考 240. 搜索二维矩阵 II,从左下角开始统计某列小于等于 val 的数目。代码:class Solution {public: bool check(

2021-01-30 23:06:54 142

原创 leetcode 1737. 满足三条件之一需改变的最少字符数

题目:https://leetcode-cn.com/problems/change-minimum-characters-to-satisfy-one-of-three-conditions/思路:第三种情况比较简单,只需要看转换成相同字符需要多少次(结果我看英文题目理解错了);对于一、二两种情况,需要枚举分界线的位置,统计次数可以用前缀和搞定。class Solution {public: int minCharacters(string a, string b) { ve

2021-01-25 20:26:40 152

原创 leetcode 82. 删除排序链表中的重复元素 II

题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/思路:这个要求是把连续重复 value 节点全删掉,当遇到重复的就将指针更新,只有不重复了才链入最终结果。递归:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : v

2021-01-10 11:22:18 144

原创 剑指 Offer 36. 二叉搜索树与双向链表

题目:剑指 Offer 36. 二叉搜索树与双向链表思路:开始想的要左右分开处理,越想越复杂,其实按照中序遍历的方式只需要执行pre->right = cur;cur->left= pre;/*// Definition for a Node.class Node {public: int val; Node* left; Node* right; Node() {} Node(int _val) { val = _v

2021-01-05 23:54:35 87

原创 662. 二叉树最大宽度

题目:662. 二叉树最大宽度思路:宽度是同一层边缘节点之间的长度,所以需要记录节点的位置(宽度是在 int 范围内的,树可能是无限长的,,,试探 unsigned long long 可以或者计算子节点 pos 减去首节点的值从 0开始dfs 记录最左非空节点位置/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r

2021-01-03 13:13:11 120

原创 leetcode 44. 通配符匹配

题目:https://leetcode-cn.com/problems/wildcard-matching/思路:dp[i][j] 表示 x 串的前 i 个与 y 串的前 j 个是否匹配;y[j] 为 ‘?’ 当前匹配,直接为 dp[i-1][j-1];y[j] 为 ‘*’,可能有两种情况:如果表示空字符为 dp[i][j-1],如果非空字符为 dp[i-1][j],例 “abb”,“a*”;初始化需要考虑 x 为空,y 前缀全为 ‘*’ 的情况为匹配的。代码:class Solution

2020-12-28 21:11:09 101

原创 根据两种遍历方式构造二叉树

规律:前序遍历的头节点为根节点,后面是左子树或右子树的联合;中序遍历的头节点左面是左子树,右面是右子树,只需要找到根节点即可;后序遍历尾节点为根节点,前面是左子树或右子树的联合;前序遍历和后序遍历不能确定唯一二叉树,因为在只有一个子树的时候无法确定左右。从前序与中序遍历序列构造二叉树思路:找到根节点在中序遍历中的位置,递归求解/** * Definition for a binary tree node. * struct TreeNode { * int val; *

2020-12-20 15:40:16 1223 1

原创 leetcode 222.完全二叉树的节点个数

题目:https://leetcode-cn.com/problems/count-complete-tree-nodes/思路:遍历O(N) 遍历整个二叉树使用完全二叉树的性质,减少遍历。完全二叉树除了最后一层叶子节点就是满二叉树,满二叉树的节点数量为 2^height - 1,所以我们只需要找到最后一层中的最后一个节点或者第一个空节点就可以算出总数。利用满二叉树性质O(log⁡2\log_2log2​ N)计算左子树的高度 left_height:遍历最左边计算右子树的高度 righ

2020-12-19 17:03:00 154 1

原创 pybind11 工具转换 C++ 接口

介绍pybind11 是一个轻量级的 header-only 库,可以将 C++ 类型暴露给 Python,反之亦然,主要用来将 C++ 接口转成 Python。安装apt install python3-devgit clone https://github.com/pybind/pybind11/git submodule update --init --recursive如果需要交叉编译 arm64 平台,会需要 aarch64-linux-gnu 中的头文件,可以改名或者下载构建

2020-10-17 13:34:35 555 1

原创 文件读写与字符串替换

前段时间写了个 py 脚本,替换目录中所有文件中的字符串,但是会出现问题,如果用短字符串替换长字符串就会出现最后出现一些原有文件的遗留,原来文件内容不会清除,而是以覆盖的形式替换,查了下有 truncate(size) 函数,用以从首字节开始截断 size 大小(默认截断所有),就解决了。#!/usr/bin/env python3import osimport sysimport ar...

2019-10-27 20:53:19 274

原创 C++ 的枚举 enum

C++ 的枚举 enum,用来在有限的范围定义明确命名的常量,通常值是整数类型。每个枚举项都与一个底层类型常量值对应,如果未指明,第一项为 0,其他项均为前一项 +1。enum Color { blue, // 0 green, // 1 red = 6, gray, // 7};有两种风格的枚举型别,C++98 风格的枚举型别和 C++11 风格的型别,两者有很大区别,通常来说后...

2019-10-13 23:43:38 300

原创 python2 升级 python3 的一些变化

sort 和 sortedpython2sort(cmp = _ _cmp_ _ (), key = None, reverse = False)cmp 参数为响应的比较函数,未指定默认调用 _ cmp _ ()(Should return a negative integer if self < other, zero if self == other, a positive...

2019-09-29 22:23:05 211

原创 Python 用法小结

一、指定解释器#!/usr/bin/python调用 /usr/bin/ 下的 python 解释器#!/usr/bin/env python自动去寻找 python 解释器(防止没有安装到 /usr/bin/ 目录的情况)二、限制版本if not sys.version_info[0] == 3: sys.exit(“only support python 3”)三、...

2019-08-15 21:28:09 152

原创 cuda 编程初探

cuda 编程可以通过 C/C++ 使用 GPU,使用 cuda 编程首先确保要有 cuda 环境,但是使用时不能直接操作 gpu 数据,只能得到 gpu 上的一个指针,再把数据拷贝到对应位置。具体使用使用 cmake 构建项目可以使用宏#ifdef USE_CUDA#endif添加头文件#ifdef USE_CUDA#include "cuda_runtime.h"#endi...

2019-07-21 16:18:54 301

原创 Mac 使用 Android 机器(adb)

1.Mac 安装好 adb 以后,使用 adb device 查看设备。2.然后可以使用 adb shell 登录,但是几乎没有权限,所以登录前先 adb root3.在 /data 目录下创建自己的文件夹4.使用 adb push 将文件传入设备,然后就可以 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/my_dir 指定 run code 了...

2019-07-05 19:32:28 168

转载 一种跨平台的C/C++动态库的符号隐藏方式

源地址:http://blog.guorongfei.com/2018/04/11/symbol-visibility/ <h1 id="什么是符号隐藏"><a href="#什么是符号隐藏" class="headerlink" title="什么是符号隐藏"></a>什么是符号隐藏</h1><p>在同一个文件中,如果有一些函...

2019-07-05 14:31:47 3272 1

原创 大学生活结束啦!

高中的热血生活结束,仅仅依靠兴趣选择了报考本校的计算机科学与技术专业,温热的九月来到了青岛理工大学。时间如黄河一般湍急,马上就要把我从清澈的河床送入浑浊复杂的流域,回想四年的大学生活,有开心振奋,也有孤独悲伤,大学作为我们走向社会的摆渡船,必然会在人生中留下深刻的痕迹。大一懵懵懂懂的参加了军训,遇见了一群令人难忘的同学们,有同班的也有不同班的,相同的是都要经过烈日的嘲笑。然后一群严厉外加些幽默的...

2019-06-18 11:51:53 389 1

原创 《程序员的自我修养—链接、装载与库》 目标文件

可执行文件(目标文件)的格式:在 Windows 下都按照 PE-COFF 格式存储,Linux 下按照 ELF 格式存储。程序源代码被编译后主要分为两种段:程序指令和程序数据。代码段属于程序指令,而数据段和 .bss 段属于数据段。.data 段保存的是已经初始化了的全局变量和局部静态变量。.rodata 段保存的是只读数据,一般是程序里面的只读变量和字符串常量。.bss 段保存的...

2019-04-29 22:05:48 193

原创 实习经历总结

七月份来到了北京 mmt 实习,充满了对于新东西的向往,进来后发现原来大佬们是那么的强,自己是那么的弱渣。而且有很多东西是自己接触过的但没有练习的,比如 Git,当初自己用过 Github 但是仅仅受限于客户端(自己乱搞不关注哪个更实用),所以 Git 命令很不熟悉,后来有恶补了很久;还有 Linux,装了个 Ubuntu 但是乱搞了一段时间没找到方便实用的地方(只用 IDE 的坏处),在某次修电...

2019-03-31 12:27:08 2123

原创 Windows10 使用 Visual Studio Code

安装 vscodehttps://code.visualstudio.com/安装 mingwhttps://sourceforge.net/projects/mingw-w64/添加环境变量 PathC:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin安装插件 Code Runn...

2019-03-17 23:14:07 219

原创 《程序员的自我修养—链接、装载与库》 多线程相关

线程安全竞争与原子操作同步与锁:二元信号量(Semaphore)互斥量(Mutex)临界区(Critical Section)读写锁(Read-Write Lock)一个函数被重入的两种情况:多个线程同时执行这个函数;函数自身调用自身;可重入函数的特点:不使用任何(局部)静态或全局的非 const 变量;不使用任何(局部)静态或全局的非 co...

2019-03-10 16:42:07 196

原创 Linux 切换进程执行的 CPU

Linux CPU物理 CPU:cat /proc/cpuinfo | grep 'physical id' | uniq核心:cat /proc/cpuinfo | grep 'core id' | sort | uniq逻辑 CPU:cat /proc/cpuinfo | grep 'processor'tasksettaskset --helpUsage: taskset [o...

2019-03-09 13:51:14 393

原创 vector 存储指针

当 vector 存储指针时,释放内存应该对每个元素进行 delete,然后 clear(),将容器元素清空#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;#include &amp;lt;set&amp;gt;

2019-03-05 17:13:29 3773

原创 《Effective STL》 读书笔记

Effective STL剥离向基类对象的容器中插入派生类对象,派生类对象独有的特性会丢失empty检查容器是否为空用empty而不是size善于使用区间成员函数(assign,etc)v1.assign(v2.begin() + v2.size()/2, v2.end())16.将vector和string传给旧的API(c api)vector元素是连续存储在内存中的if (...

2019-02-21 21:26:48 202

原创 CMake 学习

输出屏幕:message()用来输出信息foreach循环使用:set (NUM 1 2 3)foreach(i ${NUM})message("PPPP")endforeach(i)带RANGEset(NUM 5)foreach(i RANGE ${NUM})message("SSSS")endforeach(i)macro宏:macro(hello HELLO)me...

2019-01-23 21:31:51 202

原创 Vue 项目部署到阿里云服务器(Nginx 代理)

1.本地打包首先,要将本地 config/index.js 中的 assetsPublicPath: '/', 改为 assetsPublicPath: './', ,否则在会导致部署后网页无法显示然后 cnpm run build 打包生成 dist 文件夹2.安装 Nginx安装 epel (为 CentOS、Scientific Linux 提供高质量软件开发包)yum -y in...

2019-01-06 11:18:55 4798 2

原创 C++ std::tuple

std::tuple是一个可以支持参数集的类模板std::make_tuple 创建一个 tuplestd::tie 创建一个左值引用的 tuplestd::get 获取参数集合某个位置的参数tuple_size 获取参数集数目示例:/*static_assert(表达式, 输出的附加信息)对表达式进行编译时的检查is_constructible&amp;amp;lt;class T, ...

2018-12-17 13:29:59 226

原创 C clock() 与 C++ std::chrono::time_point()

clock 函数首先 clock 函数不是精确的时间函数计算的是耗费在当前程序上的时间片数,若有其他进程共享 CPU(多核),计算会包括其他进程的时间片,导致时间过长std::chrono::time_point表示一个时间点然后可以用 std::chrono::duration_cast&lt;&gt;() 来获取时间...

2018-12-17 13:28:12 1012

原创 C++ static_assert

static_assert(表达式, 输出的附加信息)对表达式进行编译时的检查is_constructible&amp;amp;lt;class T, class ... Args&amp;amp;gt; 能否用Args初始化Tis_trivially_constructible&amp;amp;lt;class T, class ... Args&amp;amp;gt; 能否用Args平凡地初始化T(std::declval 的调用被认为是平凡的)i...

2018-12-12 10:58:23 379

转载 Recall, Precision, and Average Precision

原博:https://blog.csdn.net/pkueecser/article/details/8229166信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC分类: 1.自然语言处理/机器学习 在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总。准确率、召回率、F1信息...

2018-12-08 11:06:46 505

原创 Python multiprocessing.Process

multiprocessing.Processmultiprocessing是python的中的一个多进程管理库,multiprocessing.Process模块用于创建进程使用方法:Process(target=, args=)target 要执行的函数传入函数的参数,必须是 iterable支持的函数:is_alive() 判断进程是否存活run() 创建进程未指定 ...

2018-12-01 00:12:58 1455

原创 C++ 常用序列操作

copy将 src 的序列 拷贝到 dest 的一个位置move将 src 的序列 移动到 dest 的一个位置fill用 某值 填充 dest 序列transform将 src 的序列 拷贝运算到 dest 的一个位置all_of判断序列所有元素是否 在某操作 全为trueremove移除所有等于 某值 的元素#include &amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;gt;#incl...

2018-11-25 21:56:09 1392

UVA10474 Where is the Marble?

UVA 10474

2016-04-29

程序员常用英语

程序员常用英语

2016-04-03

计算机程序设计语言的发展

计算机程序设计语言的发展

2016-03-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除