� 晶妹妹
码龄6年
求更新 关注
提问 私信
  • 博客:33,444
    33,444
    总访问量
  • 55
    原创
  • 17
    粉丝
  • 80
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2019-04-08
博客简介:

allensu374125056的博客

查看详细资料
个人成就
  • 获得20次点赞
  • 内容获得6次评论
  • 获得124次收藏
  • 代码片获得109次分享
  • 博客总排名1,749,442名
创作历程
  • 1篇
    2023年
  • 56篇
    2020年
成就勋章
TA的专栏
  • C++语法
    4篇
  • Linux系统编程
    8篇
  • 做题
    22篇
  • 数据结构
    16篇
  • H.266/VVC学习
    4篇

TA关注的专栏 6

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • Python
    python
  • 编程语言
    c++
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

90人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

【C++】面试基础搬运

类型和安全检查不同宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误;const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查编译器处理不同宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期;const常量是一个"运行时"概念,在程序运行使用,放在内存中的data段中。存储方式不同宏定义是直接替换,不会分配内存,存储于程序的代码段中;const常量需要进行内存分配,存储于程序的数据段中是否可以做函数参数。
原创
博文更新于 2023.07.15 ·
652 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【数据结构】图的表示以及遍历的C++实现

注意stringstream 类的使用 完成string到int的类型转化先clear再str("")实现重复使用typename Graph目录稀疏图的邻接表实现稠密图的邻接矩阵实现模板类实现各种类型图的测试从文件中读取图深度优先搜索遍历深度优先搜索遍历并输出查询路径广度优先搜索实现图的遍历和路径表示稀疏图的邻接表实现#pragma once#include <iostream&...
原创
博文更新于 2020.05.06 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【C++语法】new和malloc的区别

属性new和delete是C++中独有的操作符,需要编译器支持;而malloc和free是C/C++中的标准库函数,需要头文件支持。参数使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。返回类型new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操作符。而malloc内存分配成功则是返回void * (可强制转换为任何类型),需要通过强制类型转换将voi
原创
博文更新于 2020.06.26 ·
308 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux网络编程】read返回值总结以及封装nread

函数示例慢速系统可能造成进程阻塞,慢速系统调用调用被系统中断后 可以选择重启int Accept(int fd, struct sockaddr *sa, socklen_t *salenptr){ int n; again: if ( (n = accept(fd, sa, salenptr)) < 0) { if ((errno == ECONNABORTED) || (errno == EINTR)) goto again; else perr_exit("acc
原创
博文更新于 2020.06.26 ·
1987 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux网络编程】协议上限分析

MTU:通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。以下是一些协议的MTU:FDDI协议:4352字节以太网(Ethernet)协议:1500字节PPPoE(ADSL)协议:1492字节X.25协议(Dial Up/Modem):576字节Point-to-Point:4470字节~...
原创
博文更新于 2020.06.26 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux网络编程】客户端具体实现

#include<sys/socket.h>#include<stdlib.h>#include<ctype.h>//toupper的头文件#include<arpa/inet.h>// sockaddr_in#define SERV_PORT 6666#define SERV_IP "127.0.0.1"int main(void){ int cfd; struct sockaddr_in serv_addr; //socklen
原创
博文更新于 2020.06.26 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux网络编程】Socket编程

socket概念定义IP地址文件类型Linux中文件类型占用空间:普通文件 目录 软链接不占用空间:字符设备 块设备 管道 套接字管道全双工模式预备知识网络字节号IP地址转换函数sockaddr数据结构类型转换定义传参套接字函数Socket函数bind函数Listenaccept函数connect函数 客户端函数模型流程图定义Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引
原创
博文更新于 2020.06.26 ·
363 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux网络编程】服务器端具体实现

注意的点包含头文件sockaddr的强制类型转换提供默认宏 BUFSIZ为默认buf大小socket 函数建立套接字bind 指定IP端口号listen 指定最大同时发起的连接数accept 阻塞等待客户端连接readread数据转换Write给客户端关闭连接close#include<stdio.h>#include<unistd.h>#include<sys/socket.h>#include<stdlib.h>#include<c
原创
博文更新于 2020.06.26 ·
288 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【LeetCode】最长公共子子串

目录问题分析图表分析代码实现问题分析和LCS问题唯一不同的地方在于当A[i] != B[j]时,res[i][j]就直接等于0了,因为子串必须连续,且res[i][j] 表示的是以A[i],B[j]截尾的公共子串的长度。图表分析代码实现#include <stdio.h>#include <string.h> #define N 256int f(const char* s1, const char* s2){ int a[N][N]; int len1 =
原创
博文更新于 2020.06.25 ·
729 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【LeetCode】LCS最长公共子序列

最长公共子序列题目描述思路分析递归结构算法实现输出最长子序列算法实现题目描述思路分析设A=“a0,a1,…,am”,B=“b0,b1,…,bn”,且Z=“z0,z1,…,zk”为它们的最长公共子序列。不难证明有以下性质:如果am=bn,则zk=am=bn,且“z0,z1,…,z(k-1)”是“a0,a1,…,a(m-1)”和“b0,b1,…,b(n-1)”的一个最长公共子序列;如果am!=bn,则若zk!=am,蕴涵“z0,z1,…,zk”是“a0,a1,…,a(m-1)”和“b0,b1,…,b
原创
博文更新于 2020.06.25 ·
556 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【LeetCode】动态规划相关问题汇总

动态规划相关问题汇总动态规划基础70. 爬楼梯题目描述题解1 使用数组题解2 两个临时变量120. 三角形最短路径和题目描述题解1 两行变量记录 复杂度O(n)题解2 一行变量 自顶向下 空间复杂度O(n)题解3 自底向上 不需要额外空间343. 整数拆分题目描述题解1 动态规划279. 完全平方数题目描述题解1 使用队列进行图的遍历(时间较短)题解2 动态规划91. 解码方法题目描述题解1 难点在于分类讨论62. 不同路径题目描述题解163. 不同路径 II题目描述题解1 额外空间题解2 不使用额外空间
原创
博文更新于 2020.06.25 ·
589 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

【LeetCode】递归回溯相关问题汇总

递归回溯相关问题汇总树形问题17. 电话号码的字母组合题目描述题解1 使用vector储存临时结果93. 复原IP地址题目描述题解1 回溯+剪枝131. 分割回文串题目描述题解1 遍历以每个字母为起点的所有可能排列问题46. 全排列题目描述题解1 使用visited记录之前是否使用过该元素47 全排列Ⅱ题目描述题解1 使用map容器记录使用次数 每个位置只能使用一次该元素避免重复题解2 使用vector排序 如果nums[i]==nums[i-1]就跳过组合问题及优化77. 组合题目描述题解1 回溯题解2
原创
博文更新于 2020.06.25 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【LeetCode】二叉树以及二叉树递归相关问题汇总

二叉树相关二叉树的天然递归结构104. 二叉树的最大深度题目描述题解111. 二叉树的最小深度题目描述题解 注意终止条件必须是叶子节点 左右子树为空题解2 简化代码题解3简单的二叉树递归问题226. 翻转二叉树题目描述题解1 先交换左右节点的位置再反转节点题解2 先反转左右节点 再交换位置100. 相同的树题目描述题解1 判断左右节点是否相同并且root值相同题解2 化简代码101. 对称二叉树题目描述题解1 左子树反转后和右子树相同题解2 右子树等于左子树 左子树等于右子树 根节点值相等222. 完全
原创
博文更新于 2020.06.22 ·
729 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

【Linux基础操作】进程管理和服务器搭建

目录1. 压缩包管理1>. 屌丝版:2>. 高富帅版:1). tar -- 不使用z/j参数 , 该命令只能对文件或目录打包2). rar -- 必须手动安装该软件3). zip --总结: 相同之处:2. 进程管理:1. 压缩包管理1>. 屌丝版:1). gzip – .gz格式的压缩包gzip *.txt //每个文件分别压缩 不会保留原始文件了 不能打包压缩gunzip *.txt//解压缩 还原文件2). bzip2 – .bz2格式的压缩包bzip2 *.txt /
原创
博文更新于 2020.06.15 ·
275 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux基础操作】在虚拟机上搭建Linux操作系统的ftp服务器

ftp服务器的搭建和测试建立虚拟机和主机连接Linux虚拟机查看IP地址主机查看IP地址查看链接虚拟机上使用vsftpd软件建立ftp服务器下载安装vsftpd修改配置文件重启软件物理机win登录ftp登录ftp匿名登录ftp服务器为匿名用户指定根目录服务器上创建ftp目录修改配置文件修改文件夹权限物理机登录正常上传下载文件建立虚拟机和主机连接Linux虚拟机查看IP地址ifconfig主机查看IP地址ifconfig查看链接虚拟机ping’主机的IP地址可以ping通 收到数据包虚拟机上使
原创
博文更新于 2020.06.15 ·
697 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

【Linux基础操作】Day1重点回顾

Linux 基础1.Shell、 Bash 学名叫什么?命令解析器2.Shell 和 Bash的关系?现有shell 后有bash3.在linux终端下使用什么键来补齐命令或者路径?Tab4.当前用户所在目录为/home/li 此时按两次tab键会看到什么效果?列出itcast目录下面的目录 liuj/ liz/5.终端下, 查看上一条历史命令的快捷键?Ctrl+p6.终端下, 查看下一条历史命令的快捷键?Ctrl+n7.终端下, 光标向左移动的快捷键?Ctrl+b8.终端下, 光标向右移动
原创
博文更新于 2020.06.11 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Linux基本操作】Day1

基本操作*的部分为重点1. 命令解析器:2. Linux 快捷键3. Linux系统目录结构:4. 用户目录:*5. 文件和目录操作1>. (列出目录)2>. (路径转换):3>.(创建目录)4>. (删除空空目录)5>.(目录里创建文件):6>. (删除所有东西):7>. (复制文件或目录)8>. (查看文件的具体信息5种方式 了解即可):9>. (ln 快捷方式 软连接):10>. (ln 创建硬链接)11>. mv命令改名字或移动6.
原创
博文更新于 2020.06.11 ·
269 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【笔试相关】OJ在线编程常见输入输出练习(C++版)牛客网题目

输入输出练习A+B(1)A+B(2)A+B(3)A+B(4)A+B(5)A+B(6)A+B(7)字符串排序(1)字符串排序(2)字符串排序(3)字符串分割函数(处理结尾的两种方法)A+B(1)void fun1(){ int a, b; while (cin >> a >> b) { cout << a + b << endl; }}A+B(2)void fun2(){ int n, a, b; cin >> n
原创
博文更新于 2020.06.07 ·
2805 阅读 ·
2 点赞 ·
1 评论 ·
30 收藏

【笔试相关】数论相关基础算法

关于数字质因数分解最大公约数辗转相除法辗转相减法穷举法最小公倍数通过最大公约数求解穷举法质因数分解vector<int> dividenum(int n){ vector<int> ret; int n_sqrt = sqrt(n); //循环截至条件到根号n就行 //从2开始,遇到的第一个因数,一定是质数 //比如24,遇到了2,就一直除,直到余数不为0 //有人说,4也是24的因数啊,但是不是质数 //这个在遇到2时,一直除,这里已经将4除掉了 //24已经
原创
博文更新于 2020.06.07 ·
223 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【LeetCode】栈和队列相关问题

栈和队列相关问题栈的基础应用20. 有效的括号题目描述方法1 基础栈的应用方法2 将右括号入栈 加速150. 逆波兰表达式求值题目描述方法1三级目录栈的基础应用20. 有效的括号题目描述方法1 基础栈的应用 bool isValid1(string s) { stack<char> stack1; for (int i = 0;i < s.size();i++) { if (s[i] == '{' || s[i] == '(' || s[i] == '[')
原创
博文更新于 2020.06.07 ·
382 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多