自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jacob

bingbingbing

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++实现客户端/服务端通信(二)

C++实现客户端/服务端通信(二)对socket通信的基本API进行封装,简化了使用流程。

2023-08-27 18:13:40 209

原创 C++实现客户端/服务端通信(一)

C++实现客户端/服务端通信(一)基于socket通信的基本API,实现了客户端/服务端的基本通信框架。

2023-08-27 01:29:35 598

原创 Linux下源码安装MySQL 8.1

Linux环境,本文基于CentOS 8。

2023-08-23 00:16:23 449

原创 MTF 讲解

图像清晰度 MTF详解

2023-02-18 11:10:18 219

原创 Qt 文件按时间先后排序 删除

QString strPath = "D:\\Test";QDir dir(strpath);dir.setFilter(QDir::Files|QDir::NoDotAndDotDot); //路径下文件,不包含子文件夹//dir.setSorting(QDir::Time); //时间排序是从最新到最早dir.setSorting(QDir::Time| QDir::Reversed); //按时间先后排序,从最早到最新QStringList fileList = dir.entryList

2022-03-23 14:21:19 2227

原创 Linux配置静态IP

临时配置Linux IP,重启失效ifconfig eth0 10.10.10.10 netmask 255.255.255.0注:eth0是网口名,可以通过ifconfig查看配置完成后,同网段可以ping通,不同网段可能还需要配置路由才能ping通配置路由:route add default gw 10.10.1.0配置Linux IP,永久生效修改对应网口的配置文件,如修改eth0网口的IPvim /etc/sysconfig/network-scripts/ifcfg-eth0DEV

2022-01-05 00:15:51 829

原创 永久修改Linux主机名

修改hostname文件(路径:/etc/hostname)vim /etc/hostname,把hostname文件里面所有原来的名称改成你想要的名称;主机名同时也保存在/etc/hosts文件中需要把当前IP地址对应的主机名修改为hostname文件中的名称(路径:/etc/hosts)。reboot重启机器...

2022-01-05 00:01:23 1536

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

题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree著作权归领扣网络所有

2022-01-04 23:57:08 58

原创 110. 平衡二叉树

题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例输入:root = [3,9,20,null,null,15,7]输出:true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/balanced-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。实现/** * Definition fo

2021-12-24 21:38:33 89

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

题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2021-12-24 21:02:35 69

原创 101. 对称二叉树

判断对称二叉树

2021-12-24 20:52:46 57

原创 100. 相同的树

题目描述给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/same-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。实现/** * Definition for a binary tre

2021-12-24 20:45:47 359

原创 99. 恢复二叉搜索树

题目描述给你二叉搜索树的根节点 root ,该树中的两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例示例 1:输入:root = [1,3,null,null,2]输出:[3,1,null,null,2]解释:3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/recover-binary-search-tree著作权归领扣网络所有。商

2021-12-24 20:42:42 596

原创 98. 验证二叉搜索树

题目描述给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1输入:root = [2,1,3]输出:true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/validate-binary-search-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业

2021-12-23 00:08:45 67

原创 94. 二叉树的中序遍历

题目描述给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例示例 1:输入: root = [1,null,2,3]输出: [1,3,2]示例 2:输入: root = []输出: []实现方法一:递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s

2021-12-22 23:06:12 453

原创 MAC终端神器iTerm2设置

最终效果图步骤1. 下载iTerm2官网下载地址Mac系统默认使用dash作为终端,可以使用命令修改默认使用zsh:chsh -s /bin/zsh如果想修改回默认dash,同样使用chsh命令即可:chsh -s /bin/bash2. 安装Oh my zsh官方提供两种安装方式,可以任选一种# curl 安装方式sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/too

2021-12-22 22:10:07 8753

原创 排序算法(选择排序、冒泡排序、插入排序)-C语言实现

1. 选择排序第一次从待排序的数组中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。如数组3,2,16,1的排序过程如下:找到最小值1,与3交换,1,2,16,3剩下未排序的找到最小值2,不必交换剩下未排序的找到最小值3,与16交换,1,2,3,16#include <stdio.h>void MySwap(int *num

2021-12-22 22:05:26 796

原创 122.获取最大利润II

题目描述给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 

2021-12-22 22:00:42 470

原创 763. 划分字母区间

题目描述字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。来源:力扣(LeetCode

2021-12-22 21:58:27 73

原创 452. 用最少数量的箭引爆气球

题目描述在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足  xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得

2021-12-22 21:57:27 68

原创 605. 种花问题

题目描述假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组  flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true

2021-12-22 21:56:12 52

原创 435. 无重叠区间

题目描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。示例示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/non-overlapping-intervals实现int compare(const int **a, const int **b){ return (*a)

2021-12-22 21:54:53 593

原创 135. 分发糖果

题目描述老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例示例 1:输入:[1,0,2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:[1,2,2]输出:4解释:你可以分别给这三个孩子分发 1、2

2021-12-22 21:50:16 262

原创 455. 分发饼干

题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃

2021-12-22 20:50:40 107

原创 TensorFlow OpenCV3学习笔记

TensorFlow:Tensor是张量,Flow指数据流图的流动。张量:是在深度学习中表示数据的标准方式。简单地说,张量就是多维数组,是二维表(矩阵)到更高维度的扩展。TensorBoard:TensorFlow可视化工具,用于监视、调试和分析训练过程和实验。MNIST(Mixed National Institute of Standards and Technology):手写数字数据集。OpenCV卷积核函数 filter2D: cv2.filter2D(src, -1, kernel, .

2021-04-21 15:47:55 186

原创 JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理

2021-04-21 14:08:10 52

原创 tableView表格重写表头增加全选功能和实现翻页(读写excel和读ini)

一:重写表头文件HeaderView.h#pragma once#ifndef HEADERVIEW_H#define HEADERVIEW_H#include <QObject>#include <QHeaderView>#include <QPainter>#include <qcheckbox.h>#include <QMouseEvent>class HeaderView : public QHeaderView{

2021-01-09 17:00:48 678

原创 mac上sublime搭建可运行python3的环境

步骤如下:确认已安装python3,打开终端,输入python3,看是否能进入交互界面。exit()可退出python3交互界面打开sublime text3Sublime -> Tools -> Build system ->New Build System在出现的文件中填下以下内容{“cmd”: [“python3”, “-u”, “$file”],“file_regex”: “1File "(…?)”, line ([0-9]*)",“selector”: “sou

2020-07-02 01:29:27 461

原创 利用归并排序解决小数和问题

小数和题目描述在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组 的小和。例子:[1,3,4,2,5] 1左边比1小的数,没有; 3左边比3小的数,1; 4左边比4小的数,1、3; 2左边比2小的数,1; 5左边比5小的数,1、3、4、2; 所以小和为1+1+3+1+1+3+4+2=16。代码#include <iostream>#inc...

2020-05-05 20:37:46 281

原创 常用的排序算法二(归并排序)

归并排序#include <iostream>#include <vector>using namespace std;class Solution {public: // 归并排序 /* * 1. 将数组分为左右两部分,左右边分别排好序 * 2. 建立辅助数组,将左右两边排好序的子数组按照大小放入辅助数组里 * 3...

2020-05-05 16:48:47 130

原创 常用的排序算法一(冒泡排序、选择排序和插入排序)

常用的排序算法(C++实现)冒泡排序冒泡排序,类似于水中冒泡,气泡越往上越大,即较大的数慢慢往后排,较小的数慢慢往前排。也就是每一趟遍历,将一个最大的数移到序列末尾。时间复杂度O(N^2),额外空间复杂度O(1)。代码见下方bubblesort函数。选择排序选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序...

2020-05-05 15:37:47 217

原创 vector数组初始化记录

1. vector m1;默认初始化,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。2. vector m1(m2);以另一个数组初始化此数组。也可以使用等号连接。如:vector m1 = m2;两种方式等价 ,m1 初始化为m2 的拷贝,m1与m...

2020-05-03 11:59:27 888

原创 shell中用到的grep、awk、sed

shell中用到的grep、awk、sedgrep基于正则表达式搜索满足条件的行,可以实现数据查找定位。指令grep 常见指令grep pattern filegrep -i pattern file 忽略大小写grep -v pattern file 不显示匹配的行grep -o pattern file 把每个匹配的内容用独立的行显示grep -E pattern fi...

2020-04-12 17:07:47 205 1

原创 Delta RPMs disabled because /usr/bin/applydeltarpm not installed解决办法

出错环境linux centos-7.6yun install “需要安装的软件包”错误日志Delta RPMs disabled because /usr/bin/applydeltarpm not installed出错原因根据报错日志可以看出,错误原因是由于deltarpm没有安装解决办法yum install deltarpmyum install “需要安...

2020-04-12 12:57:44 9661

原创 UltraEdit安装使用

UltraEdit 注册机激活UltraEdit 注册机使用方法:下载UltraEdit注册机和UltraEdit见下面连接 https://pan.baidu.com/s/1sfycBrZAizcozrIbgwh9gg断开网络连接,运行UltraEdit软件后,点击“帮助”—“注册/激活”;许可证ID、密码随意填写后点击“激活”,会自动弹出“连接错误”窗口,然后点击“脱机激...

2020-04-06 23:53:54 31113 4

原创 mysql 8.0.12下载安装教程

mysql 8.0.12下载安装教程下载下载地址:https://dev.mysql.com/downloads/mysql/如图下载以后将安装包解压到任意文件夹,我这里解压到E盘。安装解压以后有E:\mysql\mysql-8.0.12-winx64,里面建立一个空文件夹data,如果已经有这个文件夹就不用进行这一步建立一个my.ini文件,用记事本打开,复制...

2020-04-06 18:41:47 4119

原创 linux下Jenkins安装配置

linux环境jenkins安装配置jenkins简介Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。持续集成的意义持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量。持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可...

2020-04-06 18:38:41 492

原创 BCGPro在MFC对话框程序中的使用

BCGPro在MFC对话框程序中的使用1. 下载安装2. 使用1. 下载安装BCGControl Bar Pro 28.0下载链接如下:链接:https://pan.baidu.com/s/1PUQlF_kEagmPJmNc4erpAQ提取码:cqsa双击setup.exe,按步骤安装即可。2. 使用步骤如下:打开VS,新建项目,如下图;2. 选择BCGPAppWizard...

2020-03-12 00:24:58 1265

转载 C++中引用(&)的用法和应用实例

C++中引用(&amp;)的用法和应用实例对于习惯使用C进行开发的朋友们,在看到c++中出现的&amp;符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&amp;符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)—隐式指针的文章中我详细介绍了在隐式指针&amp;的用法,其实这两个概念是统一的。引用是C+...

2018-07-20 16:18:25 133

原创 class,struct,union缺省说明

class,struct,union都可以定义一个类class 缺省说明时,其成员被认为是私有的struct 若不特别指出,其所有成员都是公有的union 其所有成员都是公有的,且不能更改...

2018-07-19 15:21:10 560

图像质量标准-ISO12233-2017-中英文翻译.pdf

对图像质量标准 ISO12233-2017 进行了中文翻译,带英文

2021-01-27

图像质量标准-ISO12233-2017.docx

英文版

2021-01-09

空空如也

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

TA关注的人

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