笔记
文章平均质量分 56
陌上烟雨遥407
专注于单片机,嵌入式linux驱动,嵌入式linux应用,嵌入式QT,音视频开发。
展开
-
leetcode数组
1 两数之和:利用unordered_map<>节点的值和下标,当diff = target - nums[i];如果diff存在于map中,则{i,map(diff)} 则为结果。15 三数之和,18 四数之和:可以转化为通用nSum,nSum = num(i) + (n-1)Sum;26 删除有序数组中重复项: 遍历法,将nums重新排一次。定义一个变量i,当nums[i] != nums[j],nums[i] = nums[j];最后返回i+1;31下一个排列:34 在排序原创 2022-03-11 08:09:16 · 131 阅读 · 0 评论 -
leetcode 树
1 求树的高度:转化为求以root为根的左右子树最大高度加一就是树的高度。1 + max(treeHeight(root->left), treeHeight(root->right));110 平衡树:先求左右子树高度,相减就能得出结果。https://leetcode-cn.com/problems/balanced-binary-tree/solution/ping-heng-shu-qiu-shu-de-gao-du-jing-dia-1ab6/原创 2022-03-04 08:00:59 · 276 阅读 · 0 评论 -
leetcode BFS框架
BFS框架queue<item> myQueue;while (!queue.empty()){ sz = queue.size(); for (int i = 0; i < sz; i++) { myQueue.front(), myQueue.pop(); ....... if (condition) { myQueue.push(); } ....... }}102 二叉树的层序遍历c原创 2022-02-05 17:23:40 · 363 阅读 · 0 评论 -
leetcode DFS专题
1 DFS 框架result = []void backtrack(路径,选择列表) { if (满足条件) { result.add(路劲); return; } for 选择 in 选择列表 做选择 backtrack(路径,选择列表); 撤销选择}...原创 2022-02-05 10:55:58 · 216 阅读 · 0 评论 -
八股文笔记
1 死锁产生场景?答:死锁产生四个必要条件:互斥,占有且等待,不可强占,环路等待。工作中遇到场景:1 多把锁上锁顺序构成环路等待,2 遇到while()死循环,3 callback函数未返回。2 vector底层实现?答:它是连续线性动态空间,有三个迭代器构成,一个指向头,一个指向尾,还有个指向目前可用的空间尾。当申请空间不足时,它会去其他地方申请一块是原来两倍的buff,并把当前buff也拷贝过去。3 STL空间配置器?答:二级配置器。当申请内存小于128bytes,去第二级配置器 memory原创 2022-01-11 07:50:18 · 288 阅读 · 0 评论 -
H264视频编解码
一 编解码基础问:为什么要进行编解码?答:如果不对视频进行编解码的话,数据量太大了,存储,IO速度将压力倍增。一个4K,24FPS,1小时的数据量为:3840 * 2160 * 3 * 3600 * 25= 2085.5 G, 播放一个4K网络视频,下载速度将要579M/S。经过H264编码后,数据将缩小40~100 倍, 而新一代编码算法H265 ,压缩率甚至高达200.问:编码的本质是什么?答:去冗余。就时间上来说,视频前一帧后一帧有很强的相关性,假设对后一帧只保留变化信息,数据量是不是原创 2021-07-18 10:48:19 · 1442 阅读 · 0 评论 -
VideoView分析
前言videoView 它是一个用于视频播放的类,对MediaPlayer, SurfaceView 进行再封装,由此开发者在安卓上播放视频更加简单。VideoView 使用及方法setVideoPath();start(); //只需简单的call 这两支API 及可完成视频的起播,第一支指定要播放的文件,第二支播放videoView 方法如下:int getCurrentPosition():获取当前播放的位置。int getDuration():获取当前播放视频的总长度。原创 2021-07-17 14:46:16 · 481 阅读 · 1 评论 -
常见的几种算法
1 二分查找前提:给定数据都是有序排放的。思想:从中间猜,每次都排除数据的一半。比如:1,2,3....,100 数组. 依次猜的数为:50,75,88,94,97,99,100。根据如下程序,最极端情况才需要猜测7次,那二分查找最大的步数是公式是什么呢?step = log2nint binary_search(int search){ int low =0; int high = strlen(list) -1; int middle = (low .原创 2021-07-03 17:36:04 · 1994 阅读 · 0 评论 -
ffmpeg之FLV Muxing & Demuxing
1FLV简介FLV是Adobe发布的一种可作为直播也可作为点播的封装格式,其封装格式非常简单,并且每个tag独立存在。常应用于网络的点播与直播场景中,比如常见的流媒体协议rtmp与flv格式兼容的非常好,比如rtmp与flv封装数据packet格式是一样的。查看资料发现rtmp与flv出自于一家,都是Adobe. 公司的产品。2 flv标准格式介绍flv = flv header +body 构成,body则是有一个个 tag 组成。常见的tag类型有三种,script tag,audio/video原创 2020-10-17 10:06:02 · 879 阅读 · 0 评论