不是我拍的哈,不是我哈,不哈!网上扒的

题一

  • void *memset(void *s, int c, size_t n); 将已开辟内存空间 s 的首 n 个字节的值设为值 c(给空间初始化)
  • void *memcpy(void *dest, const void *src, size_t n); 将src地址处的内容拷贝n个字节的数据至目标地址dest指向的内存中去。函数返回指向dest的指针。strcpy只能拷贝字符串,它遇到'\0'就结束拷贝
  • extern char *strstr(char *str1, const char *str2); 若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。
#include <iostream>
#include<cstring>
using namespace std;char* getLCS(char *str1,char *str2)//寻找子串并返回
{char *shorterStr,*longerStr;if(str1 == NULL || str2 ==NULL)return NULL;if(strlen(str1) < strlen(str2)){shorterStr = str1;longerStr = str2;}else{shorterStr = str2;longerStr = str1;}//若short完全是long的子串if(strstr(longerStr,shorterStr) != NULL)return shorterStr;//若不完全是子串,康康short串的哪一部分是long的子串,循环遍历长度逐渐减小的子串的所有可能int iShorterLen = strlen(shorterStr);char* substr = (char*)malloc(iShorterLen + 1);//从大至小计数,总长strlen(str1),已确定不是完全子串,所以从strlen(str1)-1开始判断for(int i=strlen(str1)-1;i>0;--i)//i从6递减,6位串、5位串、4位串依次看下去{cout<<'\n'<<"i="<<i<<endl;for(int j=0;j<=strlen(str1)-i;++j)//j<=6-i{   //从j位开始,复制i位至substr;在此循环中可理解为 i从大至小,起始点从小到大memcpy(substr,&shorterStr[j],i);//从j位开始复制i位到substr//strlen=7,则i=6时,j为0、1复制6位+\0; i=5时,j为0、1、2复制5位+\0; i=4时,j为0、1、2、3复制4位+\0cout<<"j="<<j<<" 从"<<shorterStr[j]<<"复制"<<substr<<endl;substr[i] ='\0';if(strstr(longerStr,substr) != NULL)return substr;}}return NULL;
}int main()
{char str1[]="abcdefg";char str2[]="cdexyw";char* lcs=getLCS(str1, str2);cout<<lcs<<endl;
}

题二

num为2、4、8、16... sum为2、6、14、30...,找到k属于哪个sum区间。例如k为10,在第三个区间,跳出for,sum=6,k=3是三位。

题三

new和malloc

https://www.cnblogs.com/ywliao/articles/8116622.html

0.new从自由存储区(基于new操作符的一个抽象概念)上动态分配内存空间,而malloc函数从(操作系统术语)上分配。自由存储区是否能够是堆(问题等价于new是否能在堆上动态分配内存),这取决于operator new 的实现细节。自由存储区不仅可以是堆,还可以是静态存储区,这都看operator new在哪里为对象分配内存。

1.使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算,而malloc则需要显式地指出所需内存的尺寸。

class A{...}
A * ptr = new A;
A * ptr = (A *)malloc(sizeof(A)); //需要显式指定所需内存大小sizeof(A);

2.new/delete会调用对象的构造函数/析构函数以完成对象的构造/析构。而malloc/free则不会,数据成员的值并没有得到初始化,malloc不适合为自定义类型或标准库中需要构造/析构的类型,分配内存。

3.如果在使用过程中发现内存不足,可以使用realloc函数进行内存重新分配实现内存的扩。new没有这样直观的配套设施来扩充内存。

2021招银网络提前批笔试编程题C++相关推荐

  1. 2020年字节跳动提前批笔试编程题(游戏专场,测试开发岗)

    一共15道不定项选择+5道编程+2道问答 不定项选择以及问答基本都是测试相关的内容,比较恶心的是选择是不定项选择,多选不得分,少选得一半分,下面主要说一下五道编程题: 1.小球下落问题 一个小球从初始 ...

  2. 招银网络科技终面编程题

    编写一个分类函数,输入一个二维数组,根据子数组的长度分类,返回分类字典. 输入: [['a','b','c'],['d','e','f','g'],[1,2,3],[4,5,6,7],['h','i' ...

  3. cvte2019校园招聘提前批嵌入式编程题2

    2.要求实现下面函数,自行实现字符串转整数,给定一个字符串表示10进制(大小在int类型范围之内),转换为n进制整数(2<=N<=36),若果转换是被返回"Error" ...

  4. 网易游戏(互娱)2020校招在线笔试-游戏研发第一批-笔试编程题

    [编程题]二进制计数-研发 小A刚学了二进制,他十分激动.为了确定他的确掌握了二进制,你给他出了这样一道题目:给定N个非负整数,将这N个数字按照二进制下1的个数分类,二进制下1的个数相同的数字属于同一 ...

  5. 招商银行/招银网络科技面经(C++软件开发)

    前几天做了招银网络科技的笔试,今天刚电话面完,面试内容主要涉及C++基础知识.计算机网络.协议.数据结构等 以下是整理的面试问题: 1.介绍一下static的各种用法,static修饰的变量在别的文件 ...

  6. 2021届招银网络科技提前批笔试

    2021届招银网络科技提前批笔试 写在前面: 第一次参加笔试,结果不重要,就当作是积累经验啦~ 有一些坑记录下来,后面的人看到也可以注意一下: 1.每部分题目是不能往回翻页的,就是说你不能想着做完了后 ...

  7. 招银网络笔试java_2020招银网络科技校园招聘常见问题

    关于简历投递方面问题 Q:我可以申请几个校招职位? A:本次校园招聘您最多只能申请1个职位,因此建议明确自己希望应聘的岗位. Q:简历提交之后,我还能进行修改? A:简历状态为"简历评估&q ...

  8. 招银网络2018笔试分享

    招银网络笔试时间两个半小时,两个小时的技能笔试和半个小时的性格测试.这里主要和大家分享一下技能笔试的内容. Part1. 30道单选 这三道单选涉及到Java,C++,多线程,算法,数据结构,CPU, ...

  9. 2021 vivo校招提前批笔试解析

    2021 vivo校招提前批笔试解析 1.种花问题 情况1:排除端点 情况2:考虑端点 情况3:花园大小只有1 2.质量测试 3.合并流水线 题目不能完整的记下来,目测后面vivo会把题目放到牛客上, ...

最新文章

  1. ip地址子网划分工具_大型视频监控网络系统如何规划ip地址?
  2. c语言字符运算 =,C语言运算符
  3. 怎么转化大小写_亚马逊search term被限制,Search Terms只能写一行怎么办?
  4. python内置函数__import__
  5. JavaScript汉字Unicode编码相互转换
  6. 单片机3种烧录方式解析
  7. MATLAB提取 .fig 文件中的数据
  8. 2021年山东省职业院校技能大赛中职组”网络安全“正式赛题
  9. python提取图片中的数字_用Python-OpenCV从车牌图像中提取数字和字母
  10. 数据库的四种隔离级别
  11. 将Final Cut Pro X工程文件导入Premiere图文版小白级操作教程
  12. 34604-52-9,Ms-PEG3-Ms甲磺酸基是良好的离去基,也可用作伯醇的保护基
  13. word快捷键被占用
  14. 如何开通微信支付和支付宝支付0.2%(千分之二)费率(最全攻略)
  15. linux中的lnk格式,ink文件扩展名,ink文件怎么打开?
  16. 瓜子二手车面试java
  17. js判断手指上滑和下滑
  18. 区块链仿真工具SimBlock
  19. 2022 极术通讯-从NVIDIA自动驾驶芯片Thor,看大芯片的发展趋势
  20. Android tv树莓派遥控器,树莓派的kodi设置遥控器的方法

热门文章

  1. 嵌入式编程与PC编程有何区别
  2. 从头开始搭建kubernetes集群+istio服务网格(3)—— 搭建istio
  3. 直达号PK公众号的背后还有哪些市场空间?
  4. 从菜鸟到大神之自动化测试(基础一)
  5. 关于Mac系统 使用npm i xxx的时候 报错
  6. 使用openpyxl 对Excel的简单操作
  7. 搭建Cacti监控(2)
  8. 中文标注工具brat的使用
  9. 养成良好的编程习惯-一个库一个文件夹
  10. 行列式(Determinants)