- 博客(27)
- 收藏
- 关注
原创 C+每日练题(15)
目录手套查找输入整数二进制中1的个数手套链接:手套_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13.
2022-05-30 20:46:29 236
原创 C++每日练题(14)
幸运的袋子链接:幸运的袋子_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编程计算一下你可以获
2022-05-30 17:36:03 457
原创 C++每日练题(13)
目录跳石板参数解析跳石板链接:跳石板_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:N = 4,M =
2022-05-25 12:20:08 216
原创 C++每日练题(12)
目录密码强度等级井字棋密码强度等级链接:密码强度等级_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度:5 分: 小于等于4 个字符10 分: 5 到7 字符25 分: 大于等于8 个字符二、字母:0 分: 没有字母10 分: 密码里的字母全都是小(大)写字母20 分: 密码里的字母符合”大小写混合“三、数字:0 分: 没有数字10 分: 1 个数字20 分
2022-05-23 13:54:19 481
原创 C++每日练题(11)
目录走方格的方案数另类加法走方格的方案数链接:走方格的方案数_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。注:沿棋盘格之间的边缘线行走数据范围: 1 \le n,m \le 8 \1≤n,m≤8 输入描述:输入两个正整数n和m,用空格隔开。(1≤n,m≤
2022-05-23 10:53:17 410
原创 C++每日练题(10)
目录求最小公倍数两种排序方法求最小公倍数来源:牛客网链接:求最小公倍数_牛客题霸_牛客网 (nowcoder.com)描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。数据范围:1 \le a,b \le 100000 \1≤a,b≤100000 输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入:5 7输出:35示例
2022-05-18 12:37:35 256
原创 C++每日练题(9)
目录合法括号序列判断Fibonacci数列合法括号序列判断来源:牛客网链接:合法括号序列判断_牛客题霸_牛客网 (nowcoder.com)描述给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。测试样例:"(()())",6返回:true测试样例:"()a()()",7返回:false测试样例:"()(()()",7返回:false题解用栈结构实现,栈中.
2022-05-18 11:01:21 104
原创 C++每日练题(8)
目录不要二字符串转整数不要二来源:牛客网链接:不要二_牛客题霸_牛客网 (nowcoder.com)描述二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。..
2022-05-18 09:39:54 159
原创 C++每日练题(7)
二进制插入 链接:二进制插入_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:1100理解题意:本题考察位运算 找到输入的第i到j位然后进行插入操作怎么做:m:1024:100000000 00 n:19 : 10011
2022-05-10 18:20:53 188
原创 C++每日练题(6)
最近公共祖先链接:最近公共祖先_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。 测试样例:2,3返回:1理解题意:最近公共祖先表示距离两个节点最近的公共父节点,这道题考察二叉树。怎么做:题目所描述的满二叉树如下: 1 / \ 2 3 / \ / \ 4 5 6 7 上述树.
2022-05-09 09:16:12 344
原创 vector的实现
std::vector的核心框架接口的模拟实现(name)::vectornamespace H { template<class T> class vector {public: typedef T* iterator; typedef const T* const_iterator; iterator begin() { return _start; } iterator end() { return _finish; } const_iterator cbegin()
2022-05-04 18:43:01 205
原创 C++的深度学习(9)
目录vectorvector的介绍vector的使用vector的定义vector iterator 的使用vector 空间增长问题vector 增删查改vector 迭代器失效问题迭代器失效解决办法vector深度剖析使用memcpy拷贝问题动态二维数组理解vector vector的介绍1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标..
2022-05-04 16:58:16 355
原创 String类的实现
目录.h文件.cpp文件.h文件#pragma once#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <assert.h>#include <string.h>using std::ostream;using std::istream;namespace stringss{class string{ friend ostream& operator&l
2022-05-02 16:30:53 616
原创 C++的深度学习(8)
string类C语言中的字符串C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。 标准库中的string类1. 字符串是表示字符序列的类 2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。 3. string类是使用char(即作为它的字符
2022-05-02 11:01:24 851
原创 C++的深度学习(7)
目录STL1. 什么是STL2. STL的版本3. STL的六大组件4.STL的缺陷 STL1. 什么是STL STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。2. STL的版本 原始版本 Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意 运用、拷贝.
2022-04-24 17:50:22 391
原创 C++每日练题(5)
统计回文链接:统计回文_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b
2022-04-24 17:34:03 152
原创 C++每日练题(4)
计算糖果链接:计算糖果_牛客题霸_牛客网 (nowcoder.com)来源:牛客网描述A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。输入描述:输入为一行,一共4个整数,分别为A - ...
2022-04-23 22:10:02 111
原创 C++每日练题(3)
在字符串中找出连续最长的数字链接:字符串中找出连续最长的数字串_好未来笔试题_牛客网 (nowcoder.com)来源:牛客网读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入abcd12345ed125ss123456789输出123456789首先理解题意读入一个字符串str,输...
2022-04-21 17:44:57 776
原创 C++的深度学习(6)
模板泛型编程 //实现一个通用的交换函数void Swap(int& left, int& right) { int temp = left; left = right; right = temp; }void Swap(double& left, double& right) { double temp = left; left = right; right = temp; }void Swap(char& left, char&am
2022-04-21 12:36:19 586
原创 C++每日练题(2)
倒置字符串链接:倒置字符串__牛客网 (nowcoder.com)来源:牛客网 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例1输入I like beijing.输出beijing. like I.
2022-04-20 17:45:36 694
原创 C++的深度学习(5)
目录C/C++内存分布C语言中动态内存管理方式malloc/calloc/realloc的区别?malloc是怎么实现的:C++内存管理方式new和delete操作自定义类型operator new与operator delete函数new和delete的实现原理malloc/free和new/delete的区别什么是内存泄漏,内存泄漏的危害内存泄漏分类如何检测内存泄漏如何避免内存泄漏如何一次在堆上申请4G的内存?C/C++内存...
2022-04-20 12:31:28 1398
原创 C++每日练题(1)
目录组队竞赛删除公共字符组队竞赛链接:组队竞赛__牛客网来源:牛客网牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更有看点,牛牛想
2022-04-19 18:40:30 210
原创 C++的深度学习(4)
类与对象类的定义C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。class className{ // 类体:由成员函数和成员变量组成};class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。 类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。 类的两种定义方式: 1. 声明和定义全部放在类体中,需要注意:成员函数如果
2022-04-18 16:10:01 1812
原创 C++的深度学习(3)
目录引用引用特性引用的使用场景传值、传引用效率比较引用和指针的区别 引用和指针的不同点:内联函数特性宏的优缺点?C++有哪些技术替代宏?auto关键字(C++11)auto的使用细则auto不能推导的场景基于范围的for循环(C++11)范围for的语法范围for的使用条件指针空值nullptr(C++11)引用引用:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变...
2022-04-13 11:54:10 1701
原创 C++中的函数重载问题
C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的 形参列表(参数个数 或 类型 或 顺序)必须不同为什么C++支持函数重载,而C语言不支持函数重载呢?在C/C++中,一个程序要运行起来,需要经历以下几个阶段:预处理、编译、汇编、链接。 从源代码到可执行程序的过程(1)源代码.c文件先经过预处理器,生成一个中间文件.i文件(2).i文件经过编译生成汇编.s文件(3).s的汇编文件经过汇编器生成.o的目标文件(4).o的目标文件经过链接器生成.elf
2022-04-11 18:35:21 449
原创 C++的深度学习(2)
目录命名空间命名空间定义命名空间使用C++输入&输出缺省参数缺省参数分类函数重载extern “C”命名空间 在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字 污染,namespace关键字的出现就是针对这种问题的。 命名空间定义namespace关键字+命名空间的名字+{命名空间的成员}
2022-04-11 13:01:24 1493
原创 C++的深度学习(1)
什么是C++?C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计.简单来说C++面向既然
2022-04-11 11:53:48 5618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人