自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gjpzl的博客

Do best myself!

  • 博客(81)
  • 收藏
  • 关注

原创 使用FFmpeg实现重封装及剪辑视频功能

使用FFmpeg接口实现封装及剪辑视频功能

2021-02-18 08:28:48 433

原创 树状数组

树状数组的知识点以及做题分析技巧

2021-02-10 08:34:45 187

原创 Linux之文件与目录、AWK(七)

课程内容目录cd:切换工作目录参数缺省:回到自己的家,C语言不支持缺省参数,可通过宏实现参数~:回到自己的家,可使用 [~用户名] 的方式指定该用户名的家参数-:回到上次目录,适合两个长路径的相互切换pwd-L 逻辑工作目录-P 物理工作目录【真实】主要体现在软连接上ln -s [要连接的文件] [软连接的位置/或加名字]两者在同一片物理空间,物理目录一致【删除】对于软连接test指向一个文件夹[rm test] 只删除这个连接文件[rm -r test] 会删除连接的文

2020-12-18 22:54:01 547

原创 Linux之Shell编程基础(六)

课程内容第一个Shell脚本#!/bin/bash#注释echo "Hello"第一行#!指定解释器,只在第一行才有效注释:"#"变量a=123a=helloa=`pwd`PATH=${PATH}:path # 变量后接字符串,可以直接拼接字符串# 【注意】":a"有特殊含义,会指到当前路径不需要定义变量类型[弱类型语言]如a = 123可以是字符串,也可以是整数特殊变量位置变量结果:状态变量$?:【上一条】指令执行结果,0——成功

2020-12-18 07:37:26 132

原创 Linux之系统信息的获取(五)

课程内容uptime:系统运行时长和平均负载用来监控系统开机多久了、有几个用户登录学会用–help查看命令帮助w:用户列表及运行的任务当系统很卡时,可以看看当前进程正在执行的命令who:显示当前登录用户信息有点像精简的w当–help信息过多时,使用tldr-q 查看所有登录用户及数量-H 显示头whoami、who am i当前有效/真实的用户名last:用户最近登录信息应用:查出最近登录最频繁的三个用户清洗空行["^$"]、按空格切割再取第1列,按字

2020-12-17 07:25:47 214

原创 Linux之基本系统(四)

基本系统目录结构/ 根目录│├boot/ 启动文件。所有与系统启动有关的文件都保存在这里│ └grub/ Grub 引导器相关的文件│├dev/ 设备文件├proc/ 内核与进程镜像│├mnt/ 临时挂载├media/ 挂载媒体设备│├root/ root用户 的 $HOME 目录├home/

2020-12-16 21:55:54 90

原创 Linux之命令系统(三)

命令系统文章目录命令系统shell、terminal和consoleLinux帮助系统zsh通配符任务管理管道、重定向转义符转义符在Shell中的应用附录1 Shell元字符附录2 ASCII码 对照表shell、terminal和console上一章节中我们已经学习过什么是shell,shell是一种命令解析器,它给用户提供了一个输入命令并接受机器返回结果的界面。那么什么是terminal和console呢?**console:**The operator’s station of a ma

2020-12-16 21:54:15 252

原创 Linux之Linux基础知识(二)

课程内容由图形化[Windows]转为字符界面[Linux]命令格式命令 [选项] [选项参数]…[参数]…选项:–选项全称 -选择简称空格:不管多少个都是一个空格,作为分隔符Linux在安全方面考虑更多用户、用户组、权限修改密码:passwd退出用户:exit、logout、ctrl+d新建用户:useradd家目录:/home,其他用户在其他目录可能没有修改权限组与用户相关的文件:/etc/passwd、/etc/group、/etc/group,相关命令use

2020-12-16 21:38:22 112

原创 Linux之揭开Linux操作系统的神秘面纱(一)

课程内容阶段课程介绍什么是LinuxLinux发展:Unix–>Max–>Windows–>Linux典型的Linux:Ubuntu、RHEL、CentOS简单的使用Linux怎么用:学习方式、通用模式怎么查:man手册、tldrman + [要查的命令]文件及目录操作、系统信息获取、配置软件、优化系统使用Linux编程、开发、搭建服务shell编程脚本是什么与C程序有本质区别,C是处理数据的,Shell是把很多流程揉在一起与脚本语言P.

2020-12-16 20:39:18 97

原创 面试笔试算法-搜索综合问题

Oj81:小明回家题目描述小明看完了电影,是时候回家了,可是这时他突然得知小米之家的小米9现货开卖了,这款手机小明已经想了一个多月,知道这个消息后的他十分兴奋,一定要在回家之前先去小米之家买手机(城市中有一个或多个小米之家),请计算小明从电影院到任意一个小米之家买手机后回家的最短距离(只能朝上下左右四个方向行走,除了障碍物外,其他地方都可以通过),数据保证可以买完手机后回家。输入第 1 行两个数 n 和 m 表示地图有 n 行 m 列 2≤n,m≤2000 第 2 行至第 n+1 行为地图 其中

2020-12-05 14:16:45 583 2

原创 面试笔试算法之排列组合与搜索走地图问题

排列组合与搜索走地图问题Oj-235.递归实现指数型枚举题目描述从 1−n 这 n 个整数中随机选取任意多个,每种方案里的数从小到大排列,按字典序输出所有可能的选择方案。输入输入一个整数 n。(1≤n≤10)输出每行一组方案,每组方案中两个数之间用空格分隔。注意每行最后一个数后没有空格。样例输入3样例输出11 21 2 31 322 33样例输入24样例输出211 21 2 31 2 3 41 2 41 31 3 41 422 32

2020-12-04 19:14:33 1150

原创 面试笔试算法-STL容器的使用与练习

容器的使用:queue:类型 + 名, queue<int> que;que.push(1); 入队que.pop(); 出队que.front(); 队首元素que.size(); 元素个数que.empty(); 是否为空stack:类型 + 名, stack<int> sta;sta.push(1);sta.pop();sta.top(); 获得栈顶元素sta.size();sta.empty();注:底层实现是双端队列(de

2020-12-04 07:59:58 274

原创 面试笔试算法-LeetCode刷题

知识点-前缀和快速求解区间和原数组:12345671327945开辟前缀和空间:01234567014613222631求x–y区间和:sum = sum[y] - sum[x - 1];LeetCode-13.罗马数字转整数13. 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V

2020-12-04 06:41:38 285

原创 面试笔试算法3-Oj刷题

面试笔试算法刷题

2020-12-03 09:01:19 1165

原创 面试笔试算法-二分专题

二分查找:朴素二分:精确找数①朴素二分找一个精确对应的值两种情况整数浮点数while条件L <= RR - L > 0.00001 精确到小数点后4位更新参数更新公式更新公式mid(L + R) / 2 为了避免溢出???? ((long long) L + R) / 2 ,L + (R - L) / 2(L + R) / 2Lmid + 1midRmid - 1mid浮点数情况放在②、③也成立②⭐特殊二

2020-12-03 07:14:23 361

原创 面试笔试算法-2

oj-481.冰壶比赛题目描述:在冰壶比赛中,给出一个目标点 P 以及一个规定的正整数 r,每一局由甲和乙两队轮流投冰壶各 8 次后,该局比赛结束。此时,那一方的冰壶最终离目标点最近,该方得分,另一方不得分。得分方每顶离目标点 P 距离小于或等于 r,位置较另一队所有冰壶都更接近目标点 P 的冰壶都可以得 1 分。比赛最多进行 10 局。双方之间的某局比赛结束后,落后一方可以弃权,此时比赛 不再进行下去。已知某一局结束时,双方的每个冰壶离目标点 P 的距离以及正整数 r,请写一个程序判断两队之间每一

2020-12-01 12:55:58 531

原创 面试笔试算法-1

oj-481.冰壶比赛题目描述:在冰壶比赛中,给出一个目标点 P 以及一个规定的正整数 r,每一局由甲和乙两队轮流投冰壶各 8 次后,该局比赛结束。此时,那一方的冰壶最终离目标点最近,该方得分,另一方不得分。得分方每顶离目标点 P 距离小于或等于 r,位置较另一队所有冰壶都更接近目标点 P 的冰壶都可以得 1 分。比赛最多进行 10 局。双方之间的某局比赛结束后,落后一方可以弃权,此时比赛 不再进行下去。已知某一局结束时,双方的每个冰壶离目标点 P 的距离以及正整数 r,请写一个程序判断两队之间每一

2020-11-30 21:55:21 312

原创 数据结构实操

数据结构介绍:程序 = 算法 + 数据结构程序设计 = 算法 + 数据结构 + 编程范式数据结构 :结构定义 + 结构操作第一节-顺序表与链表:顺序表:是一种更高级的数组结构。结构定义:struct Vector { int *data; //数据内容 int size; //总大小 int length; //当前的数据长度,存储数据的数量};结构操作:插入操作:1、将待插入位置及以后的数据向后移动一位,先空出待插入的位置。2、将数据插入待

2020-11-18 21:15:08 1223

原创 浅谈归并排序

归并排序归并排序:简单来说就是一种分而治之,一分二,二分四,直到最后对剩余的元素进行比较排序,然后合并,最后成为一个有序的数组。首先如下图所示:有一个12个数的数组,首先将其一分为二。第二次就是将左边一直递归分解:到这里就不能再将左边的数组进行分解了,接下来分解右边的数组,整个过程如下图然后进行交换排序,此时需要借助一个临时的数组完成交换。整个过程大致如下图所示。以上就是归并...

2020-04-29 22:36:14 137

原创 C/C++动态内存分配

目录一、 C/C++动态内存分配c语言中二级目录三级目录一、 C/C++动态内存分配c语言中二级目录三级目录

2020-04-27 21:23:54 182

原创 MinGW+Msys+SDL2在Windows下编译、安装可调试的FFmpeg并生成ffplay

Windows+MinGW编译可调试的ffmpeg,包括ffplay说明:FFmpeg在Linux下编译可调试的ffmpeg是非常方便,由于工作需要,需要在Windows下编译可调试的ffmpeg,在网上搜索好多资料都没能解决问题,总是遇到各种问题,经过几番周折,终于编译安装成功,并成功生成ffplay。下面为大家分享一下经验。如有问题可以发邮件联系我:email:18137165563...

2019-07-28 20:15:00 4107 4

原创 C++中用双引号和尖括号包含头文件的区别

C++中用双引号和尖括号包含头文件的区别如果头文件和包含此文件的程序代码文件位于同一个磁盘目录下,我们便使用双引号。如果在不同的磁盘目录下,我们便使用尖括号。或者说,如果此文件被认定为标准的或项目专属的头文件。我们便以尖括号将文件括住;编译器搜索此文件时,会先在某些默认的磁盘目录中寻找。如果文件名由成对的双引号括住,此文件便被认为是一个用户提供的头文件;搜索此文件时,会由要包含此文件的文件所在...

2019-04-20 18:23:25 351 1

原创 C++实现H264文件解析

`#include “stdafx.h”include

2018-07-24 13:30:04 3794 1

原创 leetcode 295:数据流的中位数

题目:数据流的中位数题目描述: 中位数是排序后列表的中间值。如果列表的大小是偶数,则没有中间值,此时中位数是中间两个数的平均值。示例:[2,3,4] , 中位数是 3[2,3], 中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中增加一个整数到数据结构中。double findM...

2018-05-07 21:36:38 630

原创 leetcode 224:基本计算器

题目:基本计算器题目描述实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例1: 输入: “1 + 1” 输出: 2示例2: 输入: ” 2-1 + 2 ” 输出: 3示例3: 输入: “(1+(4+5+2)-3)+(6+8)” 输...

2018-05-07 21:29:51 1135

原创 leetcode 155:最小栈

题目:最小栈题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素x推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例: MinStack minStack = new MinStack(); minStack.push(-2...

2018-05-07 21:23:00 457

原创 leetcode 232:用栈实现队列

题目:用栈实现队列题目描述: 使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。注意:你只能使用标准的栈操作– 也就是只有push to top, peek/pop from top, size, 和 is empty 操作是合法的。你...

2018-05-07 21:16:07 298

原创 leetcode 225:用队列实现栈

题目:用队列实现栈题目描述: 使用队列实现栈的下列操作: push(x) –元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() –返回栈是否为空注意:你只能使用队列的基本操作– 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支...

2018-05-07 21:06:39 423

原创 视频&图像大小的计算

图片的分辨率是按一个方向上来说的,比如说有水平分辨率、垂直分辨率,其中,水平分辨率*垂直分辨率为一个图片包含的像素点的个数。色彩深度:计算机图形学领域表示在位图或者视频帧缓冲区存储像素的颜色所用的位数,它也成为位/像素(bpp)或者位深。色彩深度越深,可用的颜色越多。图像用三个或更多字节描述像素时,称之为真彩色,其中位深为24bit(RGB)或更多。 未压缩图片的大小为:水平分辨率 * 垂直...

2018-05-03 21:47:54 3886

原创 面试题4:二维数组中的查找

题目:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按 照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个 整数,判断数组中是否含有该整数。#include &lt;cstdio&gt;bool Find(int* matrix, int rows, int columns, int number){ bool found...

2018-05-03 21:31:05 134

原创 面试题3:数组中重复的数字

题目一:找出数组中重复的数字 在一个长度为 n 的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或3.解题方法: 从头到尾扫描每个数字,每扫描一个数就要和对应下标作比较,如果不相等,就将此数字作为下...

2018-05-03 21:27:41 141

原创 班图技术面试总结

班图网络科技面试总结:1、什么是多态,有什么功能?答:多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或者表现出不同的行为,所以能从一个类派生出另一个类就是多态性的基本条件。 从实现角度来讲,多态性可以划分为两类:编译时的多态和执行时的多态。编译时的多态是指编译器在编译时确定同名操作的具体操作对象,在C++中主要是通过函数重载和运算符重载实现的;而执行时的多...

2018-05-02 21:42:51 227

原创 leetcode 23:合并k个有序链表

题目:合并k个有序链表题目描述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例: 输入: [ 1-&gt;4-&gt;5, 1-&gt;3-&gt;4, 2-&gt;6 ] 输出: 1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6分治思想:/** * Defini...

2018-04-30 19:37:59 239

原创 leetcode 21:合并两个有序链表

题目:合并两个有序链表题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4 输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4/** * Definition for singly-linked list. * struc...

2018-04-30 19:30:56 4825 3

原创 leetcode 138:复制带随机指针的链表

题目:复制带随机指针的链表题目描述: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深度拷贝。/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; *...

2018-04-30 19:26:58 805

原创 leetcode 86:分隔链表

题目:分隔链表 题目描述: 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。示例 输入: head = 1-&gt;4-&gt;3-&gt;2-&gt;5-&gt;2, x = 3 输出: 1-&gt;2-&gt;2-&gt;4-&gt;3-&gt;5 /**...

2018-04-30 19:22:52 846

原创 leetcode 142:环形链表Ⅱ

题目:环形链表Ⅱ题目描述: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 说明:不允许修改给定的链表。 进阶: 你是否可以不用额外空间解决此题?解法一:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode ...

2018-04-30 19:14:11 916

原创 leetcode 141:环形链表

题目:环形链表题目面述: 给定一个链表,判断链表中是否有环。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */cl...

2018-04-30 19:07:37 501

原创 leetcode 160:相交链表

题目:相交链表题目描述: 编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。...

2018-04-29 22:07:44 108

原创 leetcode 160:相交链表

题目:相交链表题目描述: 编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3在节点 c1 开始相交。...

2018-04-29 22:07:17 170

空空如也

空空如也

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

TA关注的人

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