自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 问答 (7)
  • 收藏
  • 关注

原创 华为机试真题 C++ 实现【最小调整顺序次数】【100%通过率】【2022.11 Q4 新题】

给定一个队列,但是这个队列比较特殊,可以从头部添加数据,也可以从尾部添加数据,但是只能从头部删除数据。但是在添加数据的过程中,也会删除数据,要求删除必须按照1~n按照顺序进行删除,所以在删除时,可以根据需要调整队列中数字的顺序以满足删除条件。第7步:头部删除2,调整顺序再删除,还剩[3,4,5]第8步:头部删除3,无需调整,还剩[4,5]第3步:头部删除1,无需调整,还剩[2]第9步:头部删除4,无需调整,还剩[5]第10步:头部删除5,无需调整。第6步:[5,3,2,4]第5步:[3,2,4]

2023-03-08 22:55:02 401 2

原创 华为机试真题 C++ 实现【真正的密码】【2022.11 Q4 新题】

【代码】华为机试真题 C++ 实现【真正的密码】【2022.11 Q4 新题】

2023-03-06 23:37:32 199

原创 华为OD机试真题 C++ 实现【不含 101 的数】【2022.11 Q4新题】

区间[1,10]内, 5的二进制表示为101, 10的二进制表示为1010,因此区间[1,10]内有10-2-8个不含101的数。输入 10 20 输出 7 样例解释 区间[10,20]内,满足条件的数字有[12,14,15,16,17,18,19]因此答案为7。输出的唯——行包含一个整数,表示在[l,r]区间内一共有几个不含 101的数。样例样例一: 输入 1 10 输出 8 样例解释。小明在学习二进制时,发现了一类不含 101的数,也就是: 将数字用二进制表示,不能出现101。

2023-03-05 17:29:37 271

原创 华为机试真题 C++ 实现【等和子数组最小和】【2022.11 Q4新题】

给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值输入描述: 第一行输入 m 接着输入m个数,表示此数组 数据范围:1

2023-03-05 12:29:55 219

原创 华为机试真题 C++ 实现【单向链表中间节点】【2022.11 Q4新题】

后续输入每行表示一个节点,格式 节点地址 节点值 下一个节点地址(-1表示空指针)求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。输入保证链表不会出现环,并且可能存在一些节点不属于链表。第一行 链表头节点地址 后续输入的节点数 n nn。单向链表中间的节点值。

2023-02-20 22:48:54 144

原创 华为机试真题 C++ 实现【无向图染色】【2022.11 Q4新题】

说明:4个节点,4条边,1号节点和2号节点相连,2号节点和4号节点相连,3号节点和4号节点相连,1号节点和3号节点相连,若想必须保证相邻两个节点不能同时为红色,总共7种方案。给一个无向图染色,可以填红黑两种颜色,必须保证相邻两个节点不能同时为红色,输出有多少种不同的染色方案?数据范围:1

2023-02-20 08:14:41 472

原创 华为机试真题 C++ 实现【羊、狼、农夫过河】【2022.11 Q4新题】

【代码】华为机试真题 C++ 实现【羊、狼、农夫过河】【2022.11 Q4新题】

2023-02-19 16:52:03 208 1

原创 华为OD真题c++实现 【完美走位】【 2022 Q4 | 200分】

将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换,如果替换后整个字符串中WASD四个字母出现的频数相同,那么我们称替换后的字符串是“完美走位”。如果输入字符串已经平衡则输出0。数据范围: 1

2023-02-17 23:32:00 401

原创 华为机试真题 C++ 实现【字符串重新排列】【2022.11 Q4新题】

一行字符串,每个字符取值范围:【a-zA-z0-9】以及空格,字符串长度范围:【1,1000】1、单词内部调整:对每个单词字母重新按字典序排序。请输出处理后的字符串,每个单词以一个空格分隔。1)统计每个单词出现的次数,并按次数降序排列。

2023-02-17 07:25:57 663

原创 华为机试真题 C++ 实现【租车骑绿岛】【2022.11 Q4新题】

华为OD 机试 租车骑绿岛

2023-02-16 23:03:27 428

转载 c语言结构体嵌套的对齐方式

1:在代码中有结构体嵌套的方式,又需要获取每个变量的地址。那么需要了解结构体嵌套和单一结构体的一些对齐方面的规则。2:对于嵌入式的设备来说,对齐很重要,有些cpu不支持不对齐的访问方式,有的cpu支持,只是效率上会降低。3:arm中默认编译的时候会进行对齐。规则一:结构体中的第一个成员位置在偏移量0,之后每个变量的偏移量必须是它本身字节数的整数倍。规则二:如果结构体中嵌套结构体,那么嵌套的结构体的偏移量必须是它最大成员的字节数的整数倍。规则三:结构体的总偏移量必须是它最大成员字节数的整数倍(包括嵌

2021-12-24 10:11:15 1084

原创 如何理解x&(-x)和x&(x-1)

文章目录 对于x&(-x) 只保留首位1对于x&(x-1) 消除首位1 x&(-x):保留二进制下最后出现的1的位置,其余位置置0(即一个数中最大的2的n次幂的因数); x&(x-1):消除二进制下最后出现1的位置,其余保持不变; 具体分析如下: 二进制下的数字都可以写成(A)1(B)的形式,其中A表示一串01字符串,1表示从右向左的出现的第一个数字1,B表示空(奇数)或者是连续的0(偶数),即: 偶数:(A)1(00…0) 奇数:(A)1 对于x&a...

2021-11-08 09:55:36 282

原创 mmcblk0p0和sda1等等的含义

一. mmcblk0p01.1. mmc含义SD/MMC 卡的设备构造差不多,MMC 应该是 SD 的前身,不过 MMC 当时的设计比 SD 小一半。所以,SD/MMC 的驱动通用,进一步的,Linux 的设备节点就延续了 MMC 的这个名字1.2. blk含义blk 是块设备,后面的数字是设备的顺序编号1.3 p含义p表示分区,p1 就是第一个分区二. sda12.1 sdxxsd是scsi,SATA硬盘设备。2.2. sda1a代表是第一块硬盘 1代表是第一个主分区2.3. sd

2021-11-03 09:30:03 1667

原创 宏定义高级用法

跨行的宏定义 使用反引号\连接#定义一个交换数值的多行宏,使用反斜杠连接不同行#define SWAP(a,b) do { int t = 0;t = a; a = b; b = t; } while(0)三个特殊符号:#,##,#@#define CONNECT(a,b) a##b#define TOCHAR(a) #@a#define TOSTRING(a) #a//a##b表示连接int n = CONNECT(123, 456); .

2021-10-11 22:20:48 529

原创 2021-09-16sizeof与strlen的区别

char str[20]=“0123456789”;int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0’为字符串结束标记。int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响char *str1=“absde”;char str2[]=“absde”;char str3[8]={‘a’,};char ss[] = “0123456789”;输出:siz

2021-09-16 17:00:46 77

转载 C语言中的__FILE__、__LINE__和__func__等预定义跟踪调试

标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。下面预定义宏表,被我抄了下来。 __LINE__  :当前程序行的行号,表示为十进制整型常量__FILE__  :当前源文件名,表示字符串型常量__DATE__ :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctim...

2021-07-23 13:56:24 303

转载 linux系统下alarm函数详解 信号处理函数signal

alarm()函数说明 1.引用头文件:#include <unistd.h>; 2.函数标准式:unsigned int alarm(unsigned int seconds); 3.功能与作用:alarm()函数的主要功能是设置信号传送闹钟,即用来设置信号SIGALRM在经过参数seconds秒数后发送给目前的进程。如果未设置信号SIGALARM的处理函数,那么alarm()默认处理终止进程。 ...

2021-07-20 20:40:49 644

转载 进程通信:管道(pipe)和socketpair区别

管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂。socketpair直接就可以实现全双工 socketpair对两个文件描述符中的任何一个都可读和可写,而pipe是一个读,一个写 详间代码: 一:pipe实现父子进程全双工通信: #include <stdlib.h>#include <stdio.h> int main (){ int fd1[...

2021-07-20 20:36:40 456

转载 进程 第二天 (fork函数&子进程与父进程&守护进程)

详细标注:进程 第二天 (fork函数&子进程与父进程&守护进程) 一、fork()函数 在Linux系统内,创建子进程的方法是使用系统调用fork()函数。fork()函数是Linux系统内一个非常重要的函数,它与我们之前学过的函数有一个显著的区别:fork()函数调用一次却会得到两个返回值。 fork()函数的用法:     函数fork() &...

2021-07-20 20:16:52 1417

转载 socketpair的用法和理解

socketpair()函数的声明: #include <sys/types.h>#include <sys/socket.h>int socketpair(int d, int type, int protocol, int sv[2]); socketpair()函数用于创建一对无名的、相互连接的套接子。  如果函数成功,则返回0,创建好的套接字分别是sv[0]和sv[1]...

2021-07-20 19:03:30 312

转载 socket()函数介绍

socket()函数介绍 socket函数介绍 函数原型domaintypeprotocolerrno示例 函数原型 socket()函数的原型如下,这个函数建立一个协议族为domain、协议类型为type、协议编号为protocol的套接字文件描述符。如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1。 #include<sys/type...

2021-07-20 18:58:41 523

转载 C++11多线程join()和detach()的理解

简介 每一个程序至少拥有一个线程,那就是执行main()函数的主线程,而多线程则是出现两个或两个以上的线程并行运行,即主线程和子线程在同一时间段同时运行。而在这个过程中会出现几种情况: 主线程先运行结束子线程先运行结束主子线程同时结束 在一些情况下需要在子线程结束后主线程才能结...

2021-07-20 18:50:39 651

转载 【Linux函数】Signal ()函数详细介绍

1. 功能 设置某一信号的对应动作 2. 声明 #include <signal.h>typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);...

2021-07-20 16:12:58 2397

转载 linux C函数之strdup函数分析

本文转载自:http://blog.csdn.net/tigerjibo/article/details/12784823linux C函数之strdup函数分析一.函数分析1.函数原型:#include <string.h>char *strdup(const char *s); 2.功能:strdup()函数主要是拷贝字符串s的一个副本,由函数返回值返回,这个副本有自己的内存空间,和s没有关联。strdup函数复制一个字符串,使用完后,要使用delete函数删除在函数中动态.

2021-07-20 15:51:57 242

转载 Linux access函数讲解

函数:#include<unistd.h>int access(const char* pathname, int mode);参数介绍:pathname 是文件的路径名+文件名mode:指定access的作用,取值如下F_OK 值为0,判断文件是否存在 X_OK 值为1,判断对文件是可执行权限 W_OK 值为2,判断对文件是否有写权限 R_OK 值为4,判断对文件是否有读权限 注:后三种可以使用或“|”的方式,一起使用,如W_OK|R_OK返回值:成功0,失

2021-07-20 10:49:02 180

原创 C语言readdir()函数:读取目录函数

相关函数:open, opendir, closedir, rewinddir, seekdir, telldir, scandir头文件:#include <sys/types.h>#include <dirent.h>定义函数:struct dirent * readdir(DIR * dir);函数说明:readdir()返回参数dir 目录流的下个目录进入点。结构dirent 定义如下:struct dirent{ ino_t d_ino; //d_ino

2021-07-20 09:59:38 4880 1

转载 Linux下DIR,dirent,stat等结构体详解

https://blog.csdn.net/zhuyi2654715/article/details/7605051 copy from 点击打开链接 最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。 首先说说DIR这一结构体,以下为DIR结构体的定义: struct __dirstream &...

2021-07-19 20:17:50 383

转载 linux下普通文件和目录文件区别

文件权限一般可认为是0 123 456 789,一共十位: 0:表示该文件的文件类型。Windows里面是使用了一种文件关联的技术,通过扩展名来关联相应的应用程序,使得双击某个文件,就能达到调用相应的应用程序来打开它的目的,这样简单快捷。然而对于用户来说,好处是方便,坏处是隐藏了一个实质性的东西:文件的真正的类型,与其扩展名实际上是毫无关联的。 举例来说:一个纯粹的文本文件,我可以给它命名“我的歌声里.mp3”...

2021-07-19 20:15:19 1422

转载 x86 x64 arm64的区别

x86 x64 arm64的区别源地址:https://www.cnblogs.com/zhaoqingqing/p/13145115.html我们常说的高通 865,麒麟990 不是 CPU 是 SoC(System On Chip),SoC 除了 CPU 外,还有 GPU,还有可选的浮点数加速器,专用于深度模型的加速器,等等。除此以外,SoC 还包括运存,基带芯片等等一系列集成式的东西,比电脑上的CPU集成度更高。ARM 和各个 SoC 的关系:所有 ARM ...

2021-07-12 15:17:40 11605

原创 内存池的实现

https://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.htmlhttps://www.cnblogs.com/bangerlee/archive/2011/09/01/2161437.html

2021-06-29 14:15:02 59

转载 C语言中,为什么字符串可以赋值给字符指针变量

出处https://www.cnblogs.com/KingOfFreedom/archive/2012/12/07/2807223.html本文是通过几篇转帖的文章整理而成的,内容稍有修改:一、C语言中,为什么字符串可以赋值给字符指针变量char *p,a='5';p=&a;                 &nbsp..

2021-06-02 14:25:58 1595

转载 #define命令的一些高级用法

参考:https://blog.csdn.net/xiahouzuoxin/article/details/9494503 一 、宏的定义与撤销 #普通宏定义#define PI 3.14 //编译阶段替换掉宏#define T1 3+4 //容易产生歧义#define T2 (3+4) //添加括号后,语义清楚 float r = 1.0;float area = PI * r * r; int a = 2* T1 #宏替换后变成...

2021-05-14 15:37:46 751

转载 数组名加取地址符

指出下面代码的输出,并解释为什么。(不错,对地址掌握的深入挖潜)main(){  int a[5]={1,2,3,4,5};  int *ptr=(int *)(&a+1);  printf("%d,%d",*(a+1),*(ptr-1));}输出:2,5    *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5,&a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int),所以,int *.

2021-05-13 11:19:17 1525

转载 2021-05-12

什么是大端模式、小端模式 https://blog.csdn.net/Bonjour2017/article/details/79512933  “大端”和”小端”表示多字节值的哪一端存储在该值的起始地址处;小端存储在起始地址处,即是小端字节序;大端存储在起始地址处,即是大端字节序...

2021-05-12 18:20:20 49

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”elseendififeq ($(OPT),define)    VRE ?= “Hello World! First!”endififeq ($(OPT),add)    VRE +=.

2021-04-30 09:27:44 51

转载 CentOS 7 升级 Linux 内核

https://blog.csdn.net/kikajack/article/details/79396793?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161849495316780255214567%2522%252C%2522scm%2522%253A%252...

2021-04-15 22:59:06 397

转载 图解说明——究竟什么是Windows句柄

图解说明——究竟什么是Windows句柄参考资料:http://blog.csdn.net/newjerryj/article/details/4383701          http://www.cnblogs.com/yellowyu/archive/2009/06/07/1497910.html写在前面:     对于“句柄”,在下一直停留在一知半解的认识层面,.

2021-04-11 16:59:56 176

转载 DLL编写教程

  DLL编写教程半年不能上网,最近网络终于通了,终于可以更新博客了,写点什么呢?决定最近写一个编程技术系列,其内容是一些通用的编程技术。例如DLL,COM,Socket,多线程等等。这些技术的特点就是使用广泛,但是误解很多;网上教程很多,但是几乎没有什么优质良品。我以近几个月来的编程经验发现,很有必要好好的总结一下这些编程技术了。一来对自己是总结提高,二来可以方便光顾我博客的朋友。好了,废话少说,言归正传。第一篇就是《DLL编写教程》,为什么起这么土的名字呢?为什么不叫《轻轻松松写DLL》

2021-04-11 15:33:14 725

转载 静态链接库、动态链接库使用方法

 总结一下动态链接库和静态链接库。 首先搞清楚几个概念: 静态库:函数和数据被编译进一个二进制文件,通常扩展名为.lib。在使用静态库的情况下,在编译连接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.exe文件)。 动态库:在使用动态库的时候,往往提供两个文件:1.引入库(.lib)和.dll。引入库包含被Dll导出的函数和变量的符号名,Dl...

2021-03-30 15:27:26 754 1

转载 动态链接库(.dll) 动态导入库(.lib) 静态链接库(.lib)

C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。 什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.l.

2021-03-30 14:53:10 432

空空如也

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

TA关注的人

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