自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(144)
  • 收藏
  • 关注

原创 更新清华软件源时报错:Certificate verification failed: The certificate is NOT trusted.

这个错误经常会出现,无法在现有的软件源里找到该安装包或者该依赖,这个时候,首先我们就需要先检查依赖名(安装包名)是否正确。如果无误,再去更新软件源。替换为你下载的该软件源的证书路径。然后按照提示选择要信任的证书,并更新证书存储库。我在前面那篇文章全部替换成Ubuntu18.04的软件源后,仍然无法找到。我是试了第二种办法就成功解决了,更新完证书后再次执行更新命令就okay了。这个错误是因为使用的清华软件源中的证书过期了。如果想要全部替换软件源,就参考之前写的。

2023-08-21 16:25:27 999

原创 遇到E: Unable to locate package xxxx的一种解决办法

更新Ubuntu的软件源

2023-08-17 10:59:32 908

原创 ImportError: libpng16-57e5e0a0.so.16.37.0: cannot open shared object file: No such file or directory

即可,如果上面的命令不管用,可以试试下面这条命令。缺少opencv-python,

2023-08-01 15:01:17 351

原创 执行sudo apt-get upgrade时报错 dpkg: error processing package xxxxxx

但是这对我的报错不管用,后来几经波折,终于让我找到了解决办法:将/var/lib/dpkg下的info文件夹备份,然后重建info文件夹,最后再次执行。时,中间会出现扣“Y、N、I、O”等等的选项,清楚自己的要求后看需求选择。执行sudo apt-get upgrade后,出现下列报错问题。

2023-07-31 19:32:03 613

转载 caffe blob入门理解

逻辑上看,Blob是一个四维数组,但实际上,因为数组的存储是在内存中开辟一块连续的、大小相同的内存空间,所以Blob的存储应该是一个一维的存储结构,只不过时利用四个参数来进行寻址(shape_里的四个参数),并且Blob是行优先的存储方式。所以对于一个(n, k, h, w)的Blob,其维度是n * k * h * w,在(n, k, h, w)位置的物理位置是((n * K + k) * H + h) * W + w。Blob类在初始化时并没有分配内存,也是通过调用Reshape来分配内存的。

2023-07-17 15:03:40 97

原创 bazel工具入门(二)

会类似于Make,会将所有配置的输出目录都清除。并且,每个bazel实例都与一个workspace工作区相关联,因此clean命令将删除对该工作区中使用该bazel实例进行的所有构建的所有输出。选项则会仅移除整个输出基树,该树除了包含build输出之外,还包含bazel创建的所有临时文件(例如,bazel实例的所有磁盘和内存跟踪记录)。上面指的是“显示构建PEBL树中所有测试所需的所有genrule的定义(在BUILD文件中)的位置。解释为bazel选项,而是将其视为运行二进制文件的命令行的一部分。

2023-07-16 18:04:58 714

原创 bazel工具入门(一)

bazel工具是Google内部构建工具Blaze的开源实现,属于编译打包工具,和maven、ant等类似。构建系统时,程序员一般写一个buildfile文件来描述系统,通常buildfile命名为BUILD。在Bazel中,BUILD文件定义了targets。上面的两个targets分别是cc_library和cc_test。每个target对应着Bazel能够创建的一种制品(artifact)。

2023-07-16 16:50:36 723

原创 error while loading shared libraries: libnvinfer.so.8: cannot open shared object fil

报错error while loading shared libraries: libnvinfer.so.8: cannot open shared object file: No such file or directory…参考:https://zhuanlan.zhihu.com/p/618174145?执行./sample_mnist。

2023-07-12 17:11:45 3288 2

原创 Linux下载安装opencv时报错:CMake Error

解决办法:解压后的opencv文件里的/home/kevin/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz这个文件有问题,最简单粗暴的方法就是直接下载这个文件,替换到上面这个路径的原文件。解决办法:在路径上下载对应的文件。解决办法:在路径上下载对应的文件。

2023-07-10 16:39:08 1639

原创 命名空间提示“http://schemas.microsoft.com/xaml/behaviors”不存在Interation的解决办法

命名空间“https://schemas.microsoft.com/xaml/behaviors”不存在

2022-11-29 18:40:25 2218 2

原创 gdb调试中打印宏

gdb调试打印宏定义

2022-08-12 11:26:59 1522 2

原创 如果刷新网页或者下拉出现白屏可能是什么原因以及url相关问题

· 如果出现刷新网页或者下拉白屏可能的原因· 如何将长url转化为短url· 如何屏蔽url

2022-08-03 09:56:44 1455

原创 多态的实现原理

问:简要阐述一下多态的实现原理。参考:多态的实现分为静态多态和动态多态的实现。1、静态多态主要是同名函数的重载,在编译的时候就已经确定。编译器会根据函数实参的类型(可能会进行隐式类型转换),来确定具体调用哪个函数,如果有对应的函数就调用该函数,否则会出现编译错误。2、动态多态主要是父子类同名函数的覆盖,运行时的多态,是用虚函数机制实现的,在运行期间动态绑定。编译器在编译的时候,会为每个包含虚函数的类创建一个虚表和虚表指针。该表是一个一维数组,在虚表中存放了每个虚函数的地址。程序运行时,会根据对象的实

2022-06-10 10:16:01 3457

原创 简述一下面向对象的三大特性

问:简述一下面向对象的三大特性。参考:面向对象的三大特性是:封装、继承和多态。1、封装:封装隐藏对象的属性,并且外界只能通过对外提供的接口进行访问,这个对外提供的接口一般是指get方法。2、继承:子类可以复用父类的成员和方法,并且可以在现有代码的基础上进行功能扩展。3、多态:表现形式是,子类对象父类指针,通过父类创建的指针来调用子类的成员和方法,实现了接口的重用。 多态分为静态多态和动态多态。............

2022-06-09 09:46:41 9127

原创 面向过程和面向对象的区别

问:简述一下面向过程和面向对象的区别。问:能说一下什么是面向对象吗?

2022-06-09 09:26:03 120

原创 编译型语言和解释型语言

问:说一下编译型语言和解释型语言的原理、以及优缺点?

2022-06-09 09:05:47 172

原创 C++和C的区别

问:能说一下C++和C的区别吗?扩展:问:请简要说明一下C++和Java的区别。问:请简要说明一下C++和python的区别。

2022-06-07 20:43:12 3890 2

原创 C++语言的特点有哪些

问:能说一下C++语言的特点有哪些吗?

2022-06-07 20:38:05 7004

原创 TCP粘包的定义、原因、体现及解决方法

TCP粘包的概念TCP粘包:多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发送方的发送边界,而采用某一估测值大小来进行数据读出,若双方的缓冲区大小不一致时,就会使发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。举个简单的例子:比如说发送方发送了两个数据,由于接收方和发送方的缓冲区大小不一致,导致接收方一次性收了一个半的数据(接收方可能不清楚一个包有多大),具体可见示例图:出现TCP粘包的原因出现粘包现象的原因是多方面的,它

2022-05-28 17:26:13 2835

原创 力扣:113. 路径总和 II

题目链接:113. 路径总和 II题目:给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]示例 2:输入:root = [1,2,3], targetSum = 5输出:[]示

2022-05-27 18:07:07 112

原创 力扣:112. 路径总和

题目链接:112. 路径总和题目:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解释:等于目标和的根节点到叶节点

2022-05-27 17:38:44 180

原创 力扣:513. 找树左下角的值

题目链接:513. 找树左下角的值题目:给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root = [2,1,3]输出: 1示例 2:输入: [1,2,3,4,null,5,6,null,null,7]输出: 7提示:二叉树的节点个数的范围是 [1,104]-231 <= Node.val <= 231 - 1思路和算法:本题使用层序遍历再合适不过了,比递归要好很多!只

2022-05-27 15:59:26 120

原创 力扣:404. 左叶子之和

题目链接:404. 左叶子之和题目:给定二叉树的根节点 root ,返回所有左叶子之和。示例 1:输入: root = [3,9,20,null,null,15,7]输出: 24解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2:输入: root = [1]输出: 0提示:节点数在 [1, 1000] 范围内-1000 <= Node.val <= 1000解题思路:方案一:递归递归的遍历顺序为后序遍历(左右中),是

2022-05-27 15:24:04 178

原创 力扣:257. 二叉树的所有路径

题目链接:257. 二叉树的所有路径题目:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:[“1->2->5”,“1->3”]示例 2:输入:root = [1]输出:[“1”]提示:树中节点的数目在范围 [1, 100] 内-100 <= Node.val <= 100解题思路:这里有一点需要着重注

2022-05-27 10:12:50 114

原创 力扣:110. 平衡二叉树

题目链接:110. 平衡二叉树题目:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true提示:树中的节点数在范围 [0, 5000] 内

2022-05-25 11:22:50 205

原创 力扣:222. 完全二叉树的节点个数

题目链接:222. 完全二叉树的节点个数题目:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例 1:输入:root = [1,2,3,4,5,6]输出:6示例 2:输入:root = []输出:0示例 3:输入:root = [1]输出:1提示:

2022-05-24 22:08:15 160

原创 力扣:559. N 叉树的最大深度

题目链接:559. N 叉树的最大深度题目:给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:3示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,nul

2022-05-24 20:53:30 100

原创 力扣:572. 另一棵树的子树

题目链接:572. 另一棵树的子树题目:给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。示例 1:输入:root = [3,4,5,1,2], subRoot = [4,1,2]输出:true示例 2:输入:root = [3,4,5,

2022-05-24 20:36:11 143

原创 力扣:100. 相同的树

题目链接:100. 相同的树题目:给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false提示:两棵树上的节点数目都在范围 [0, 10

2022-05-24 10:25:36 150

原创 力扣:101. 对称二叉树

题目链接:101. 对称二叉树题目:给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100进阶:你可以运用递归和迭代两种方法解决这个问题吗?方案一:递归用递归法之前可以先提前了解“递归三部曲

2022-05-24 09:37:15 237

原创 力扣:590. N 叉树的后序遍历

题目链接:590. N 叉树的后序遍历题目:给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,

2022-05-23 11:59:56 171

原创 力扣:589. N 叉树的前序遍历

题目链接:589. N 叉树的前序遍历题目:给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,

2022-05-23 11:31:07 203

原创 力扣:226. 翻转二叉树

题目链接:226. 翻转二叉树题目:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]提示:树中节点数目范围在 [0, 100] 内-100 <= Node.val <= 100解题思路:本题需要翻转二叉树,如果要从整个二

2022-05-23 10:35:13 175

原创 力扣:111. 二叉树的最小深度

题目链接:111. 二叉树的最小深度题目:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <= 1000思路和算

2022-05-21 22:32:53 67

原创 力扣:104. 二叉树的最大深度

题目链接:104. 二叉树的最大深度题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回它的最大深度 3 。思路和算法:求二叉树深度可以通过计算遍历的层数来解决。代码(c++):/** * Definition for a binary tree node. * struct T

2022-05-21 21:52:10 68

原创 力扣:117. 填充每个节点的下一个右侧节点指针 II

题目链接:117. 填充每个节点的下一个右侧节点指针 II题目:给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空

2022-05-21 16:34:59 109

原创 力扣:116. 填充每个节点的下一个右侧节点指针

题目链接:116. 填充每个节点的下一个右侧节点指针题目:给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。示例 1:

2022-05-21 16:19:15 75

原创 力扣:515. 在每个树行中找最大值

题目链接:515. 在每个树行中找最大值题目:给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。示例1:输入: root = [1,3,2,5,3,null,9]输出: [1,3,9]示例2:输入: root = [1,2,3]输出: [1,3]提示:二叉树的节点个数的范围是 [0,104]-231 <= Node.val <= 231 - 1思路和算法:遍历每层节点,用变量记录每层最大值,然后将最大值放入结果数组。代码(c++):

2022-05-21 15:38:52 69

原创 力扣:429. N 叉树的层序遍历

题目链接:429. N 叉树的层序遍历题目:给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,nul

2022-05-21 15:20:59 96

原创 力扣:637. 二叉树的层平均值

题目链接:637. 二叉树的层平均值题目:给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[3.00000,14.50000,11.00000]解释:第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。因此返回 [3, 14.5, 11] 。示例 2:输入:root = [3,9,2

2022-05-21 14:24:46 243

空空如也

空空如也

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

TA关注的人

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